--- old/src/hotspot/share/runtime/mutexLocker.cpp 2018-11-05 20:46:14.237038730 -0500 +++ new/src/hotspot/share/runtime/mutexLocker.cpp 2018-11-05 20:46:12.660948828 -0500 @@ -106,7 +106,7 @@ Mutex* ProfilePrint_lock = NULL; Mutex* ExceptionCache_lock = NULL; Mutex* OsrList_lock = NULL; - +Mutex* NMethodSweeper_stat_lock = NULL; #ifndef PRODUCT Mutex* FullGCALot_lock = NULL; #endif @@ -138,6 +138,7 @@ Monitor* JfrMsg_lock = NULL; Mutex* JfrBuffer_lock = NULL; Mutex* JfrStream_lock = NULL; +Monitor* JfrThreadSampler_lock = NULL; #endif #ifndef SUPPORTS_NATIVE_CX8 @@ -147,6 +148,9 @@ Mutex* MetaspaceExpand_lock = NULL; Mutex* ClassLoaderDataGraph_lock = NULL; +Monitor* ThreadsSMRSupport_delete_lock = NULL; +Mutex* Decoder_shared_decoder_lock = NULL; +Mutex* DCmdFactory_lock = NULL; #define MAX_NUM_MUTEX 128 static Monitor * _mutex_array[MAX_NUM_MUTEX]; @@ -243,7 +247,7 @@ def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread - def(SharedDictionary_lock , PaddedMutex, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread + def(SharedDictionary_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always); def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); @@ -318,6 +322,7 @@ def(JfrBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); def(JfrStream_lock , PaddedMutex , leaf+1, true, Monitor::_safepoint_check_never); // ensure to rank lower than 'safepoint' def(JfrStacktrace_lock , PaddedMutex , special, true, Monitor::_safepoint_check_sometimes); + def(JfrThreadSampler_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never); #endif #ifndef SUPPORTS_NATIVE_CX8 @@ -325,6 +330,11 @@ #endif def(CodeHeapStateAnalytics_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); + + def(NMethodSweeper_stat_lock , PaddedMutex , special, true, Monitor::_safepoint_check_sometimes); + def(ThreadsSMRSupport_delete_lock, PaddedMonitor, special, false, Monitor::_safepoint_check_never); + def(Decoder_shared_decoder_lock , PaddedMutex , native, false, Monitor::_safepoint_check_never); + def(DCmdFactory_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); } GCMutexLocker::GCMutexLocker(Monitor * mutex) {