--- a/hotspot/src/share/vm/runtime/objectMonitor.cpp Thu Jul 07 15:40:36 2016 -0400
+++ b/hotspot/src/share/vm/runtime/objectMonitor.cpp Thu Jul 07 14:58:17 2016 -0700
@@ -131,8 +131,6 @@
static int Knob_QMode = 0; // EntryList-cxq policy - queue discipline
static volatile int InitDone = 0;
-#define TrySpin TrySpin_VaryDuration
-
// -----------------------------------------------------------------------------
// Theory of operations -- Monitors lists, thread residency, etc:
//
@@ -1848,13 +1846,8 @@
// hysteresis control to damp the transition rate between spinning and
// not spinning.
-intptr_t ObjectMonitor::SpinCallbackArgument = 0;
-int (*ObjectMonitor::SpinCallbackFunction)(intptr_t, int) = NULL;
-
// Spinning: Fixed frequency (100%), vary duration
-
-
-int ObjectMonitor::TrySpin_VaryDuration(Thread * Self) {
+int ObjectMonitor::TrySpin(Thread * Self) {
// Dumb, brutal spin. Good for comparative measurements against adaptive spinning.
int ctr = Knob_FixedSpin;
if (ctr != 0) {
@@ -1948,11 +1941,6 @@
goto Abort; // abrupt spin egress
}
if (Knob_UsePause & 1) SpinPause();
-
- int (*scb)(intptr_t,int) = SpinCallbackFunction;
- if (hits > 50 && scb != NULL) {
- int abend = (*scb)(SpinCallbackArgument, 0);
- }
}
if (Knob_UsePause & 2) SpinPause();