--- old/src/hotspot/share/runtime/vmOperations.cpp 2019-05-25 10:46:44.662884225 -0400 +++ new/src/hotspot/share/runtime/vmOperations.cpp 2019-05-25 10:46:43.786884179 -0400 @@ -41,6 +41,7 @@ #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" @@ -471,6 +472,17 @@ } } +bool VM_Exit::doit_prologue() { + if (AsyncDeflateIdleMonitors) { + // AsyncDeflateIdleMonitors does a special deflation at the VM_Exit + // safepoint in order to reduce the in-use monitor population that + // is reported ObjectSynchronizer::log_in_use_monitor_details() at + // VM exit. + ObjectSynchronizer::set_is_special_deflation_requested(true); + } + return true; +} + void VM_Exit::doit() { if (VerifyBeforeExit) {