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