< prev index next >
src/hotspot/share/runtime/synchronizer.hpp
Print this page
rev 54996 : Checkpoint latest preliminary review patches for full OpenJDK review; merge with 8222295.patch.
rev 54997 : imported patch dcubed.monitor_deflate_conc.v2.01
rev 55000 : [mq]: dcubed.monitor_deflate_conc.v2.04
@@ -160,13 +160,17 @@
ObjectMonitor** freeHeadp,
ObjectMonitor** freeTailp);
static bool deflate_monitor_using_JT(ObjectMonitor* mid,
ObjectMonitor** freeHeadp,
ObjectMonitor** freeTailp);
- static bool is_cleanup_needed();
- static bool is_cleanup_requested() { return _is_cleanup_requested; }
- static void set_is_cleanup_requested(bool new_value) { _is_cleanup_requested = new_value; }
+ static bool is_async_deflation_needed();
+ static bool is_safepoint_deflation_needed();
+ static bool is_async_deflation_requested() { return _is_async_deflation_requested; }
+ static bool is_special_deflation_requested() { return _is_special_deflation_requested; }
+ static void set_is_async_deflation_requested(bool new_value) { _is_async_deflation_requested = new_value; }
+ static void set_is_special_deflation_requested(bool new_value) { _is_special_deflation_requested = new_value; }
+ static jlong time_since_last_async_deflation_ms();
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
@@ -187,11 +191,10 @@
int *error_cnt_p);
static void log_in_use_monitor_details(outputStream * out, bool on_exit);
static int log_monitor_list_counts(outputStream * out);
static int verify_objmon_isinpool(ObjectMonitor *addr) PRODUCT_RETURN0;
- static bool gOmShouldDeflateIdleMonitors() { return _gOmShouldDeflateIdleMonitors; }
static void do_safepoint_work(DeflateMonitorCounters* _counters);
private:
friend class SynchronizerTest;
@@ -203,12 +206,13 @@
// 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 bool _gOmShouldDeflateIdleMonitors;
- static volatile bool _is_cleanup_requested;
+ static volatile bool _is_async_deflation_requested;
+ static volatile bool _is_special_deflation_requested;
+ static jlong _last_async_deflation_time_ns;
// 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);
< prev index next >