< prev index next >

src/share/vm/runtime/synchronizer.hpp

Print this page
rev 13526 : [mq]: 13512.patch

*** 142,168 **** static void monitors_iterate(MonitorClosure* m); // GC: we current use aggressive monitor deflation policy // Basically we deflate all monitors that are not busy. // An adaptive profile-based deflation policy could be used if needed ! // When deflate_tl is true, also deflate thread-local monitors. Otherwise only ! // deflate global monitors. ! static void deflate_idle_monitors(bool deflate_thread_local_monitors); ! static void deflate_idle_monitors_and_oops_do(Thread* thread, OopClosure* cl); ! static void deflate_idle_monitors_all_threads(); ! // For a given monitor list: global or per-thread, deflate idle monitors static int deflate_monitor_list(ObjectMonitor** listheadp, ObjectMonitor** freeHeadp, ! ObjectMonitor** freeTailp, ! OopClosure* cl = NULL); static bool deflate_monitor(ObjectMonitor* mid, oop obj, 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); // Parallel GC support static ParallelObjectSynchronizerIterator parallel_iterator(); // debugging --- 142,160 ---- static void monitors_iterate(MonitorClosure* m); // GC: we current use aggressive monitor deflation policy // Basically we deflate all monitors that are not busy. // An adaptive profile-based deflation policy could be used if needed ! static void deflate_idle_monitors(); // For a given monitor list: global or per-thread, deflate idle monitors static int deflate_monitor_list(ObjectMonitor** listheadp, ObjectMonitor** freeHeadp, ! ObjectMonitor** freeTailp); static bool deflate_monitor(ObjectMonitor* mid, oop obj, ObjectMonitor** freeHeadp, ObjectMonitor** freeTailp); static void oops_do(OopClosure* f); // Parallel GC support static ParallelObjectSynchronizerIterator parallel_iterator(); // debugging
*** 183,200 **** // 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; - - // 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 // IllegalMonitorStateException. However, a pending exception may // have to pass through, and we must also be able to deal with --- 175,184 ----
< prev index next >