RFR 8223774: Shenandoah: Refactor ShenandoahRootProcessor and family
Aleksey Shipilev
shade at redhat.com
Fri May 17 11:59:34 UTC 2019
On 5/16/19 5:09 PM, Zhengyu Gu wrote:
> Updated: http://cr.openjdk.java.net/~zgu/JDK-8223774/webrev.02/
I like it.
*) No, this block should be in ShenandoahTraversalGC*Heuristics*, not in ShenandoahTraversalGC
itself, look:
http://hg.openjdk.java.net/jdk/jdk/file/23837d614c17/src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp#l36
313 // Traversal does not support concurrent code root scanning
314 FLAG_SET_DEFAULT(ShenandoahConcurrentScanCodeRoots, false);
*) One more naming suggestion (see if it makes sense!). Current hierarchy is:
ShenandoahRootProcessingPhase
-> ShenandoahRootProcessor
-> ShenandoahRootEvacuator
-> ShenandoahRootUpdater
-> ShenandoahRootAdjuster
It leads to awkward superclass name. Maybe we should rename ShenandoahRootProcessor to reflect what
it does to also match Evacuator/Updater/Adjuster? This frees ShenandoahRootProcessor to become the
superclass. For example:
ShenandoahRootProcessor
-> ShenandoahRootScanner [Does it *only* scan, though? Dunno.]
-> ShenandoahRootEvacuator
-> ShenandoahRootUpdater
-> ShenandoahRootAdjuster
-Aleksey
More information about the shenandoah-dev
mailing list