Closures and oops_do

The GC uses C++ objects called closures to traverse managed pointers (aka "oops")...

Finding roots

Live objects are defined as those which are reachable from a set of root references. Each root reference is presented to the GC as the address of an oop, usually in a thread stack or static global structure.

Strong roots are located using ...

Rules for strong root traversal
  • each root location must be visited exactly once
  • if the GC has multiple phases, the roots visited by each phase must be consistent
  • ...
  • No labels