RFR (XS) 8223450: Disable Shenandoah C2 barriers verification for x86_32

Aleksey Shipilev shade at redhat.com
Tue May 7 10:26:13 UTC 2019


Bug:
  https://bugs.openjdk.java.net/browse/JDK-8223450

Shenandoah C2 barrier verification is disabled when unusual barrier configuration is requested.
However, that only takes care of options provided from the command line (as our tests assert). For
the configuration that disables barriers implicitly, e.g. x86_32, this is not enough, and tests fail
with false negatives. We need to disable C2 barriers verification explicitly there.

Fix:

diff -r 1c3292907e4b src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp   Tue May 07 12:19:28 2019 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp   Tue May 07 12:23:15 2019 +0200
@@ -48,10 +48,12 @@
   FLAG_SET_DEFAULT(ShenandoahLoadRefBarrier,         false);
   FLAG_SET_DEFAULT(ShenandoahKeepAliveBarrier,       false);
   FLAG_SET_DEFAULT(ShenandoahStoreValEnqueueBarrier, false);
   FLAG_SET_DEFAULT(ShenandoahCASBarrier,             false);
   FLAG_SET_DEFAULT(ShenandoahCloneBarrier,           false);
+
+  FLAG_SET_DEFAULT(ShenandoahVerifyOptoBarriers,     false);
 #endif

 #ifdef _LP64
   // The optimized ObjArrayChunkedTask takes some bits away from the full 64 addressable
   // bits, fail if we ever attempt to address more than we can. Only valid on 64bit.

Testing: hotspot_gc_shenandoah

-- 
Thanks,
-Aleksey




More information about the shenandoah-dev mailing list