< prev index next >
src/hotspot/share/runtime/vmThread.cpp
Print this page
rev 57595 : v2.09a with 8235795, 8235931 and 8236035 extracted; rebased to jdk-14+28; merge with 8236035.patch.cr1; merge with 8235795.patch.cr1; merge with 8236035.patch.cr2; merge with 8235795.patch.cr2; merge with 8235795.patch.cr3.
@@ -39,10 +39,11 @@
#include "runtime/handles.inline.hpp"
#include "runtime/interfaceSupport.inline.hpp"
#include "runtime/mutexLocker.hpp"
#include "runtime/os.hpp"
#include "runtime/safepoint.hpp"
+#include "runtime/synchronizer.hpp"
#include "runtime/thread.inline.hpp"
#include "runtime/vmThread.hpp"
#include "runtime/vmOperations.hpp"
#include "services/runtimeService.hpp"
#include "utilities/dtrace.hpp"
@@ -306,10 +307,18 @@
xtty->stamp();
xtty->end_elem();
assert(should_terminate(), "termination flag must be set");
}
+ if (AsyncDeflateIdleMonitors && log_is_enabled(Info, monitorinflation)) {
+ // AsyncDeflateIdleMonitors does a special deflation at the final
+ // 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);
+ }
+
// 4526887 let VM thread exit at Safepoint
_cur_vm_operation = &halt_op;
SafepointSynchronize::begin();
if (VerifyBeforeExit) {
< prev index next >