RFR: JDK-8226757: Shenandoah: Make Traversal a separate mode

Roman Kennke rkennke at redhat.com
Tue Jun 25 18:09:36 UTC 2019

 Currently, Traversal GC is activated by selecting the 'traversal'
heuristic. However, Traversal GC is not exactly a heuristic. It is a
whole different mode, that is structurally different from the normal
Shenandoah GC operation. In addition to that, it would be useful to have
several Traveral GC heuristics, aggressive for testing, compact for low
memory footprint, passive to drive Traversal without barriers, etc. The
current traversal heuristic would become the Traversal mode's 'adaptive'

I propose to add a new option -XX:ShenandoahGCMode=normal|traversal that
selects the mode of operation, and then Traversal GC can also pick up
different heuristics via the usual -XX:ShenandoahGCHeuristics option.

The change drops Traversal-specific parts from ShenandoahHeuristics, and
re-wires them in more useful ways. A big part of the change is adjusting
tests for changed options.


Can I please get a review?


More information about the hotspot-gc-dev mailing list