RFR: Interleave partial GCs with concurrent GCs
rkennke at redhat.com
Thu Mar 30 15:58:45 UTC 2017
This brings together partial GCs with Shenandoah's ordinary concurrent GC.
The ShenandoahConcurrentThread kicks off a normal concurrent GC cycle
just like the adaptive heuristics (the superclass of partial
heuristics), i.e. when heap usage reaches a certain threshold. It forces
an update-refs phase after the concurrent cycle to prepare for the next
The update-refs phase completely rebuilds the matrix. This means we
don't have to build it during marking. That's why I throw away all the
additional marking closures.
Tested using specjvm and hotspot_gc_shenandoah.
More information about the shenandoah-dev