--- old/src/hotspot/share/runtime/objectMonitor.cpp 2018-09-17 23:27:55.303748995 -0700 +++ new/src/hotspot/share/runtime/objectMonitor.cpp 2018-09-17 23:27:55.095749002 -0700 @@ -101,7 +101,6 @@ // The knob* variables are effectively final. Once set they should // never be modified hence. Consider using __read_mostly with GCC. -int ObjectMonitor::Knob_ExitRelease = 0; int ObjectMonitor::Knob_InlineNotify = 1; int ObjectMonitor::Knob_Verbose = 0; int ObjectMonitor::Knob_VerifyInUse = 0; --- old/src/hotspot/share/runtime/objectMonitor.hpp 2018-09-17 23:27:56.259748962 -0700 +++ new/src/hotspot/share/runtime/objectMonitor.hpp 2018-09-17 23:27:55.999748971 -0700 @@ -195,7 +195,6 @@ static PerfCounter * _sync_Deflations; static PerfLongVariable * _sync_MonExtant; - static int Knob_ExitRelease; static int Knob_InlineNotify; static int Knob_Verbose; static int Knob_VerifyInUse; --- old/src/hotspot/share/runtime/thread.cpp 2018-09-17 23:27:57.195748929 -0700 +++ new/src/hotspot/share/runtime/thread.cpp 2018-09-17 23:27:56.935748938 -0700 @@ -1959,7 +1959,7 @@ // // ensure_join() ignores IllegalThreadStateExceptions, and so does // ObjectSynchronizer::release_monitors_owned_by_thread(). - if (exit_type == jni_detach || ObjectMonitor::Knob_ExitRelease) { + if (exit_type == jni_detach) { // Sanity check even though JNI DetachCurrentThread() would have // returned JNI_ERR if there was a Java frame. JavaThread exit // should be done executing Java code by the time we get here.