< prev index next >

src/share/vm/runtime/synchronizer.hpp

Print this page
rev 12957 : 8180175: ObjectSynchronizer only needs to iterate in-use monitors

@@ -134,10 +134,11 @@
                                   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,10 +155,15 @@
   // 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 >