RFR: Cleanup and refactor Full GC code

Aleksey Shipilev shade at redhat.com
Wed Nov 29 18:46:24 UTC 2017


http://cr.openjdk.java.net/~shade/shenandoah/fullgc-cleanup/webrev.01/

This cleans up, refactors, and documents Full GC code better. This is a stepping stone to humongous
object compaction that adds more code to Full GC, and it builds on previous patches that are in review.

What is done here:

 - methods in ShenandoahMarkCompact are now non-static, to align with ShenandoahConcurrentMark;
 - "copy_queues" are renamed to "worker_slices", because that's what those are;
 - memory management is a bit better: use automatic storage where appropriate, cluster
allocation/deallocation code otherwise, etc;
 - iterators are initialized in closure constructors, like in the rest of Shenandoah code.
 - trivial formatting changes;
 - some mention of the underlying algorithms is added, critical parts are commented;

Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list