< prev index next >
src/share/vm/runtime/synchronizer.hpp
Print this page
rev 12957 : 8180175: ObjectSynchronizer only needs to iterate in-use monitors
*** 134,143 ****
--- 134,144 ----
ObjectMonitor** freeTailp);
static bool deflate_monitor(ObjectMonitor* mid, oop obj,
ObjectMonitor** freeHeadp,
ObjectMonitor** freeTailp);
static void oops_do(OopClosure* f);
+ static void thread_local_used_oops_do(Thread* thread, OopClosure* f);
// debugging
static void sanity_checks(const bool verbose,
const unsigned int cache_line_size,
int *error_cnt_ptr, int *warning_cnt_ptr);
*** 154,163 ****
--- 155,169 ----
// 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;
+
+ static void global_oops_do(OopClosure* f);
+ static void global_used_oops_do(OopClosure* f);
+ static void list_oops_do(ObjectMonitor* list, OopClosure* f);
+
};
// ObjectLocker enforced balanced locking and can never thrown an
// IllegalMonitorStateException. However, a pending exception may
// have to pass through, and we must also be able to deal with
< prev index next >