--- old/src/hotspot/share/runtime/vmThread.cpp 2019-11-04 14:57:48.000000000 -0500 +++ new/src/hotspot/share/runtime/vmThread.cpp 2019-11-04 14:57:48.000000000 -0500 @@ -40,6 +40,7 @@ #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" @@ -310,6 +311,14 @@ 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();