RFR: Make degenerated update-refs use region-set cursor to hand over work
Aleksey Shipilev
shade at redhat.com
Thu Dec 14 18:06:59 UTC 2017
http://cr.openjdk.java.net/~shade/shenandoah/ur-degen-cursor/webrev.01/
This is based on previous RFR that cleans up operations. For Degenerate GC to work, we want to drop
cancellation flag right away, and do init-update-refs, followed by final-update-refs to finish the
update refs work. But, final-update-refs would not finish work when cancellation is cleared.
Since work handover is tracked by regions cursor anyway, why don't we use that to signal available
work? This also handles the case where cancellation is called when all threads have processed all
regions during conc-update-refs, and reacted on cancellation at the end of the phase. Current code
would make a futile attempt to whip up workers during final-update-refs, when we know there is no
work left.
Testing: hotspot_gc_shenandoah
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list