diff -r 3ab9867d7786 -r 381638db28e6 hotspot/src/share/vm/runtime/synchronizer.hpp --- a/hotspot/src/share/vm/runtime/synchronizer.hpp Thu Jul 03 09:16:56 2014 -0700 +++ b/hotspot/src/share/vm/runtime/synchronizer.hpp Thu Jul 03 11:07:51 2014 -0700 @@ -84,7 +84,7 @@ static void reenter (Handle obj, intptr_t recursion, TRAPS); // thread-specific and global objectMonitor free list accessors -// static void verifyInUse (Thread * Self) ; too slow for general assert/debug + static void verifyInUse(Thread * Self); static ObjectMonitor * omAlloc(Thread * Self); static void omRelease(Thread * Self, ObjectMonitor * m, bool FromPerThreadAlloc); static void omFlush(Thread * Self); @@ -114,10 +114,10 @@ // An adaptive profile-based deflation policy could be used if needed static void deflate_idle_monitors(); static int walk_monitor_list(ObjectMonitor** listheadp, - ObjectMonitor** FreeHeadp, - ObjectMonitor** FreeTailp); - static bool deflate_monitor(ObjectMonitor* mid, oop obj, ObjectMonitor** FreeHeadp, - ObjectMonitor** FreeTailp); + ObjectMonitor** freeHeadp, + ObjectMonitor** freeTailp); + static bool deflate_monitor(ObjectMonitor* mid, oop obj, ObjectMonitor** freeHeadp, + ObjectMonitor** freeTailp); static void oops_do(OopClosure* f); // debugging @@ -130,7 +130,10 @@ enum { _BLOCKSIZE = 128 }; static ObjectMonitor* gBlockList; static ObjectMonitor * volatile gFreeList; - static ObjectMonitor * volatile gOmInUseList; // for moribund thread, so monitors they inflated still get scanned + // global monitor in use list, for moribund threads, + // monitors they inflated need to be scanned for deflation + static ObjectMonitor * volatile gOmInUseList; + // count of entries in gOmInUseList static int gOmInUseCount; };