--- a/hotspot/src/share/vm/runtime/synchronizer.hpp Wed May 17 23:18:19 2017 +0200
+++ b/hotspot/src/share/vm/runtime/synchronizer.hpp Wed May 17 23:36:19 2017 +0200
@@ -136,6 +136,8 @@
ObjectMonitor** freeHeadp,
ObjectMonitor** freeTailp);
static void oops_do(OopClosure* f);
+ // Process oops in thread local used monitors
+ static void thread_local_used_oops_do(Thread* thread, OopClosure* f);
// debugging
static void sanity_checks(const bool verbose,
@@ -156,6 +158,14 @@
static ObjectMonitor * volatile gOmInUseList;
// count of entries in gOmInUseList
static int gOmInUseCount;
+
+ // Process oops in all monitors
+ static void global_oops_do(OopClosure* f);
+ // Process oops in all global used monitors (i.e. moribund thread's monitors)
+ static void global_used_oops_do(OopClosure* f);
+ // Process oops in monitors on the given list
+ static void list_oops_do(ObjectMonitor* list, OopClosure* f);
+
};
// ObjectLocker enforced balanced locking and can never thrown an