< prev index next >

src/hotspot/share/runtime/mutexLocker.cpp

Print this page

        

*** 104,114 **** Monitor* BeforeExit_lock = NULL; Monitor* Notify_lock = NULL; Mutex* ProfilePrint_lock = NULL; Mutex* ExceptionCache_lock = NULL; Mutex* OsrList_lock = NULL; ! #ifndef PRODUCT Mutex* FullGCALot_lock = NULL; #endif Mutex* Debug1_lock = NULL; --- 104,114 ---- Monitor* BeforeExit_lock = NULL; Monitor* Notify_lock = NULL; Mutex* ProfilePrint_lock = NULL; Mutex* ExceptionCache_lock = NULL; Mutex* OsrList_lock = NULL; ! Mutex* NMethodSweeper_stat_lock = NULL; #ifndef PRODUCT Mutex* FullGCALot_lock = NULL; #endif Mutex* Debug1_lock = NULL;
*** 136,154 **** --- 136,158 ---- #if INCLUDE_JFR Mutex* JfrStacktrace_lock = NULL; Monitor* JfrMsg_lock = NULL; Mutex* JfrBuffer_lock = NULL; Mutex* JfrStream_lock = NULL; + Monitor* JfrThreadSampler_lock = NULL; #endif #ifndef SUPPORTS_NATIVE_CX8 Mutex* UnsafeJlong_lock = NULL; #endif Monitor* CodeHeapStateAnalytics_lock = NULL; 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]; static int _num_mutex;
*** 241,251 **** def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations 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(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); def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf-1, true, Monitor::_safepoint_check_never); // handles are used by VM thread --- 245,255 ---- def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations 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(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); def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf-1, true, Monitor::_safepoint_check_never); // handles are used by VM thread
*** 316,332 **** --- 320,342 ---- #if INCLUDE_JFR def(JfrMsg_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); 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 def(UnsafeJlong_lock , PaddedMutex , special, false, Monitor::_safepoint_check_never); #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) { if (SafepointSynchronize::is_at_safepoint()) { _locked = false;
< prev index next >