RFR (S) 8229416: Shenandoah: Demote or remove ShenandoahOptimize*Final optimizations

Aleksey Shipilev shade at redhat.com
Mon Aug 12 15:50:09 UTC 2019


There are three Shenandoah optimizations at the moment:
 ShenandoahOptimizeStaticFinals (enabled by default)
 ShenandoahOptimizeInstanceFinals (disabled by default)
 ShenandoahOptimizeStableFinals (disabled by default)

The last two are known to break some programs, and they are definitely incorrect in
post-LRB/post-nofwdptr world, where exposing the from-space object with unusual markword would wreck
some havoc. These should be removed.

The first optimization is eliminating barriers on constants, that are handled separately, and never
get exposed as from-space objects. We should keep that optimization on, but to add future debugging,
we would want to keep the flag as diagnostic.

Testing: hotspot_gc_shenandoah {fastdebug,release}


More information about the hotspot-gc-dev mailing list