--- old/src/hotspot/share/runtime/objectMonitor.cpp 2018-09-17 23:29:24.083745903 -0700 +++ new/src/hotspot/share/runtime/objectMonitor.cpp 2018-09-17 23:29:23.831745911 -0700 @@ -103,7 +103,6 @@ int ObjectMonitor::Knob_SpinLimit = 5000; // derived by an external tool - -static int Knob_SpinEarly = 1; static int Knob_SuccEnabled = 1; // futile wake throttling static int Knob_SuccRestrict = 0; // Limit successors + spinners to at-most-one static int Knob_MaxSpinners = -1; // Should be a function of # CPUs @@ -287,7 +286,7 @@ // transitions. The following spin is strictly optional ... // Note that if we acquire the monitor from an initial spin // we forgo posting JVMTI events and firing DTRACE probes. - if (Knob_SpinEarly && TrySpin (Self) > 0) { + if (TrySpin(Self) > 0) { assert(_owner == Self, "invariant"); assert(_recursions == 0, "invariant"); assert(((oop)(object()))->mark() == markOopDesc::encode(this), "invariant"); @@ -449,7 +448,7 @@ // to the owner. This has subtle but beneficial affinity // effects. - if (TrySpin (Self) > 0) { + if (TrySpin(Self) > 0) { assert(_owner == Self, "invariant"); assert(_succ != Self, "invariant"); assert(_Responsible != Self, "invariant");