< 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 >