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

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


RFE:
  https://bugs.openjdk.java.net/browse/JDK-8229416
  https://cr.openjdk.java.net/~shade/8229416/webrev.01/

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}

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list