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