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

Ofir Gordon ofirg6 at
Tue May 5 12:50:27 UTC 2020

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.

‫בתאריך יום ג׳, 5 במאי 2020 ב-11:52 מאת ‪Andrew Haley‬‏ <‪aph at

> On 5/5/20 8:25 AM, Ofir Gordon wrote:
> > Another question after reading the mark-compact based on the Epsilon GC
> > tutorial - I still don't understand how it gets from oop_iterate to
> > preorming the closure's do_oop_work method which actually does the
> marking..
> > I understand that if I want to implement a new GC i don't need to mind
> > that, but I'm trying to understand all the dependencies in the marking
> dlow
> > for the existing GCs, so I need to figure out how is the call to
> > do_oop_work is being made and where? what is the complete flow?
> Just put a breakpoint on the closure's do_oop_work and step through.
> --
> Andrew Haley  (he/him)
> Java Platform Lead Engineer
> Red Hat UK Ltd. <>
> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-gc-dev mailing list