Isolating the GC code from the jvm to run on external accelerator

Thomas Schatzl thomas.schatzl at oracle.com
Tue May 5 13:18:37 UTC 2020


Hi,

On 05.05.20 14:50, Ofir Gordon wrote:
> Thanks, I think I figured it out.
> 
> Do you maybe know any tutorial / documentation / explaination that
> describes the mechanism behind the way that the gc finds the pointers in an
> object's fields?
> I can see that it happaens somehow by partition of the object to "chuncks"
> in the class "classLoaderData" (if I understood correctly), but I wish to
> understand the complete process.
> 

   this depends a bit on the type of object (regular objects vs. array 
of references vs. other kind of java classes - there are a few special 
ones e.g. instances of j.l.ClassLoader). Have a look at the 
oop_oop_iterate() methods in the subtypes of the Klass class in the oops 
directory.

You'll find that e.g. for InstanceKlass ("regular objects") there is 
something called oopmap that contains the offsets into the object where 
references are.

Thanks,
   Thomas


More information about the hotspot-gc-dev mailing list