harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [drlvm]what is "jlc"
Date Tue, 08 Apr 2008 08:52:15 GMT
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 <ustcliao@gmail.com> 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

Mime
View raw message