RFR: Re-enable Thread-local handshakes by default in Shenandoah

Roman Kennke rkennke at redhat.com
Mon Jun 25 15:54:50 UTC 2018


Back in February we disabled TLHS because it caused compilation
failures. I tried today, and it doesn't seem to cause problems. I
propose to re-enable it and stay with defaults, unless we encounter
problems again.

Testing: tier3_gc_shenandoah, some specjvm

Ok?

# HG changeset patch
# User rkennke
# Date 1529942003 -7200
#      Mon Jun 25 17:53:23 2018 +0200
# Node ID 462b5242fb24477d64f7064f95de75f322ef0426
# Parent  79181eb9f86ab38de6b9ea90653534fdedcbe6a7
Re-enable Thread-local handshakes by default in Shenandoah

diff --git a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
+++ b/src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
@@ -121,18 +121,6 @@
     FLAG_SET_DEFAULT(ShenandoahAlwaysPreTouch, true);
   }

-  // Shenandoah C2 optimizations apparently dislike the shape of
thread-local handshakes.
-  // Disable it by default, unless we enable it specifically for debugging.
-  if (FLAG_IS_DEFAULT(ThreadLocalHandshakes)) {
-    if (ThreadLocalHandshakes) {
-      FLAG_SET_DEFAULT(ThreadLocalHandshakes, false);
-    }
-  } else {
-    if (ThreadLocalHandshakes) {
-      warning("Thread-local handshakes are not working correctly with
Shenandoah at the moment. Enable at your own risk.");
-    }
-  }
-
   // Record more information about previous cycles for improved
debugging pleasure
   if (FLAG_IS_DEFAULT(LogEventsBufferEntries)) {
     FLAG_SET_DEFAULT(LogEventsBufferEntries, 250);
[




More information about the shenandoah-dev mailing list