harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: [drlvm] Jitrino.OPT performs incorrect GC enumeration in nested loop with array accesses
Date Thu, 05 Oct 2006 11:35:23 GMT
On the 0x1F9 day of Apache Harmony Mikhail Fursov wrote:
> Egor,
> You are right that log contains only (mptr,base) pairs. The offset ==
> MAX_INT is interpreted as unknown. In this case the correct base for a
> managed pointer is chosen in runtime: the algorithm searches for the nearest
> known base.

aah! good thing. so the only left is "acl" that should be
reported (so GC could find it). In HLO the instruction for "acl" is:
I26:ldind.unc:o   [t15] ((t9,t13)) -) t16:cls:ClTest$MyObject

I can attach my log to JIRA if it makes sense.

> In the log for the GCMap codegenerator's stage base is always '-1' and this
> is correct (I can explain why if needed). 

If it does not bother you much, I would be happy to know more.

> So once managed pointer has no known static offset (the offset is
> MAX_INT) the base is searched in runtime as I described above.

should we document this? :)

> + Yes, I watched GC enumeration results from my debugger. The logs has only
> compile-time information.

I don't quite well understand how an object reference is not reported
at compile-time, but found at runtime.. Sniffing refs on a stack
frame? Hm, is there any reason I thought Jitrino is not like that?...

So, the only way to detect all reported objects on a call-site is to
stop on the call-site at runtime during enumeration? Not
impressed. Does it log to the runtime log (rt.log) currently? I tried
"-Djit.log=rt", but it produced no result. Is that a bug?

> Right now I'm finishing magic support patch for JET and after it's finished
> (1-2 hours) I going to switch to this problem. I hope I will help.

Great! I am obviously much slower on this part than you!

> AFAIU the optimizer's path should be
> -Djit.CS_OPT.path.optimizer=ssa
> ,purge,simplify,uce,dce,lazyexc,memopt,simplify,uce,dce,lower,dessa,statprof,markglobals
> ?
> I ask it because I want to have the same IR numbers as you have

Yes, my path is exactly as yours:
-Djit.CS_OPT.path.optimizer=ssa,purge,simplify,uce,dce,lazyexc,memopt,simplify,uce,dce,lower,dessa,statprof,markglobals

> On 05 Oct 2006 17:09:35 +0700, Egor Pasko <egor.pasko@gmail.com> wrote:
> >
> > Mikhail,
> > a small offtopic: do you use debugger to detect that one object is
> > reported? I cannot see it in the logs. I can see only "pairs dump":

-- 
Egor Pasko, Intel Managed Runtime Division


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message