Lyon, please ignore the function trace_forwarded_gen_jlC_from_vtable. They should be removed. It was an old design with weakroot and class unloading.
To explain what it does, I should mention what weakroot is. Weakroot is some root references that are not considered to be used for liveness (reachability) identification. That is, the objects only pointed by weakroots are not live. We need know them in GC. When an live object also pointed to by a weakroot is moved by GC, we need update the weakroot to point to the new location. When an object (JLC instance) is not pointed to by any live objects, it may still have object instances. The instance object has pointer to Vtable, and the Vtable has pointer to the JLC instance. That means, it is still in use. We need find them and move them accordingly in collection. Anyway, please ignore the code guarded with TRACE_JLC_VIA_VTABLE condition, unless you really hit some problem with them. Thanks, xiaofeng On Tue, Apr 8, 2008 at 4:07 PM, lyon <[EMAIL PROTECTED]> wrote: > hi everyone > > I am reading the gc src.I don't understand what is "jlc" that is member > var of the vtable.there are two functions "forward_jlc_instance" and > "trace_forwarded_gen_jlC_from_vtable" in the \gc_gen\src\trace_forward. > > What do the fuctions mean? > thank you. > -- http://xiao-feng.blogspot.com
