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.

In the log for the GCMap codegenerator's stage base is always '-1' and this
is correct (I can explain why if needed). So once managed pointer has no
known static offset (the offset is MAX_INT) the base is searched in runtime
as I described above.

+ Yes, I watched GC enumeration results from my debugger. The logs has only
compile-time information.
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.

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

On 05 Oct 2006 17:09:35 +0700, Egor Pasko <[EMAIL PROTECTED]> 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":


--
Mikhail Fursov

Reply via email to