< prev index next >

src/hotspot/share/runtime/vmOperations.cpp

Print this page
rev 56046 : v2.00 -> v2.05 (CR5/v2.05/8-for-jdk13) patches combined into one; merge with 8229212.patch; merge with jdk-14+11; merge with 8230184.patch.

@@ -39,10 +39,11 @@
 #include "runtime/arguments.hpp"
 #include "runtime/deoptimization.hpp"
 #include "runtime/frame.inline.hpp"
 #include "runtime/interfaceSupport.inline.hpp"
 #include "runtime/sweeper.hpp"
+#include "runtime/synchronizer.hpp"
 #include "runtime/thread.inline.hpp"
 #include "runtime/threadSMR.inline.hpp"
 #include "runtime/vmOperations.hpp"
 #include "services/threadService.hpp"
 

@@ -466,10 +467,21 @@
     MonitorLocker ml(&timer, Mutex::_no_safepoint_check_flag);
     ml.wait(10);
   }
 }
 
+bool VM_Exit::doit_prologue() {
+  if (AsyncDeflateIdleMonitors && log_is_enabled(Info, monitorinflation)) {
+    // AsyncDeflateIdleMonitors does a special deflation at the VM_Exit
+    // safepoint in order to reduce the in-use monitor population that
+    // is reported by ObjectSynchronizer::log_in_use_monitor_details()
+    // at VM exit.
+    ObjectSynchronizer::set_is_special_deflation_requested(true);
+  }
+  return true;
+}
+
 void VM_Exit::doit() {
 
   if (VerifyBeforeExit) {
     HandleMark hm(VMThread::vm_thread());
     // Among other things, this ensures that Eden top is correct.
< prev index next >