--- old/src/hotspot/share/runtime/objectMonitor.cpp 2018-09-17 23:30:39.255743284 -0700 +++ new/src/hotspot/share/runtime/objectMonitor.cpp 2018-09-17 23:30:39.043743291 -0700 @@ -110,7 +110,6 @@ static int Knob_FixedSpin = 0; static int Knob_PreSpin = 10; // 20-100 likely better -static int Knob_FastHSSEC = 0; static int Knob_MoveNotifyee = 2; // notify() - disposition of notifyee static int Knob_QMode = 0; // EntryList-cxq policy - queue discipline static volatile int InitDone = 0; @@ -1171,22 +1170,8 @@ // ST Self->_suspend_equivalent = false // MEMBAR // LD Self_>_suspend_flags -// -// UPDATE 2007-10-6: since I've replaced the native Mutex/Monitor subsystem -// with a more efficient implementation, the need to use "FastHSSEC" has -// decreased. - Dave - bool ObjectMonitor::ExitSuspendEquivalent(JavaThread * jSelf) { - const int Mode = Knob_FastHSSEC; - if (Mode && !jSelf->is_external_suspend()) { - assert(jSelf->is_suspend_equivalent(), "invariant"); - jSelf->clear_suspend_equivalent(); - if (2 == Mode) OrderAccess::storeload(); - if (!jSelf->is_external_suspend()) return false; - // We raced a suspension -- fall thru into the slow path - jSelf->set_suspend_equivalent(); - } return jSelf->handle_special_suspend_equivalent_condition(); }