RFR (S): [9/8u] Make sure C2 arguments are not used when C2 is disabled

Aleksey Shipilev shade at redhat.com
Thu Apr 20 19:53:19 UTC 2017


Hi,

This breaks Zero build, because arguments.cpp reference C2 options.

=== Fix for 9:

$ hg diff
diff -r 2e50df715cd0 src/share/vm/runtime/arguments.cpp
--- a/src/share/vm/runtime/arguments.cpp	Thu Apr 20 13:29:17 2017 +0200
+++ b/src/share/vm/runtime/arguments.cpp	Thu Apr 20 21:52:38 2017 +0200
@@ -2088,6 +2088,7 @@
     FLAG_SET_DEFAULT(PerfDataMemorySize, 512*K);
   }

+#ifdef COMPILER2
   // Shenandoah cares more about pause times, rather than raw throughput.
   if (FLAG_IS_DEFAULT(UseCountedLoopSafepoints)) {
     FLAG_SET_DEFAULT(UseCountedLoopSafepoints, true);
@@ -2095,6 +2096,7 @@
   if (UseCountedLoopSafepoints && FLAG_IS_DEFAULT(LoopStripMiningIter)) {
     FLAG_SET_DEFAULT(LoopStripMiningIter, 1000);
   }
+#endif

   if (AlwaysPreTouch) {
     // Shenandoah handles pre-touch on its own. It does not let the


=== Fix for 8u:

 $ hg diff
diff -r e20b8233d729 src/share/vm/runtime/arguments.cpp
--- a/src/share/vm/runtime/arguments.cpp	Thu Apr 20 13:47:20 2017 +0200
+++ b/src/share/vm/runtime/arguments.cpp	Thu Apr 20 21:52:51 2017 +0200
@@ -1768,12 +1768,14 @@
     FLAG_SET_DEFAULT(PerfDataMemorySize, 512*K);
   }

+#ifdef COMPILER2
   // Shenandoah cares more about pause times, rather than raw throughput.
   // Enabling safepoints in counted loops makes it more responsive with
   // long loops.
   if (FLAG_IS_DEFAULT(UseCountedLoopSafepoints)) {
     FLAG_SET_DEFAULT(UseCountedLoopSafepoints, true);
   }
+#endif

   if (AlwaysPreTouch) {
     // Shenandoah handles pre-touch on its own. It does not let the


Testing: hotspot_gc_shenandoah

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list