188 def(DirtyCardQ_FL_lock , PaddedMutex , access, true, Monitor::_safepoint_check_never); 189 def(DirtyCardQ_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never); 190 def(Shared_DirtyCardQ_lock , PaddedMutex , access + 1, true, Monitor::_safepoint_check_never); 191 192 def(FreeList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 193 def(SecondaryFreeList_lock , PaddedMonitor, leaf , true, Monitor::_safepoint_check_never); 194 def(OldSets_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 195 def(RootRegionScan_lock , PaddedMonitor, leaf , true, Monitor::_safepoint_check_never); 196 def(MMUTracker_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 197 198 def(StringDedupQueue_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never); 199 def(StringDedupTable_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); 200 201 def(MarkStackFreeList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 202 def(MarkStackChunkList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 203 } 204 if (UseShenandoahGC) { 205 def(SATB_Q_FL_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); 206 def(SATB_Q_CBL_mon , PaddedMonitor, nonleaf, true, Monitor::_safepoint_check_never); 207 def(Shared_SATB_Q_lock , PaddedMutex , nonleaf, true, Monitor::_safepoint_check_never); 208 } 209 def(ParGCRareEvent_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_sometimes); 210 def(DerivedPointerTableGC_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); 211 #ifdef INCLUDE_ALL_GCS 212 def(CGCPhaseManager_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_sometimes); 213 #endif 214 def(CodeCache_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); 215 def(RawMonitor_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); 216 def(OopMapCacheAlloc_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for oop_map_cache allocation. 217 218 def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. 219 def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations 220 def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. 221 222 def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread 223 def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always); 224 def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); 225 def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); 226 def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread 227 def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread | 188 def(DirtyCardQ_FL_lock , PaddedMutex , access, true, Monitor::_safepoint_check_never); 189 def(DirtyCardQ_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never); 190 def(Shared_DirtyCardQ_lock , PaddedMutex , access + 1, true, Monitor::_safepoint_check_never); 191 192 def(FreeList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 193 def(SecondaryFreeList_lock , PaddedMonitor, leaf , true, Monitor::_safepoint_check_never); 194 def(OldSets_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 195 def(RootRegionScan_lock , PaddedMonitor, leaf , true, Monitor::_safepoint_check_never); 196 def(MMUTracker_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 197 198 def(StringDedupQueue_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never); 199 def(StringDedupTable_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); 200 201 def(MarkStackFreeList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 202 def(MarkStackChunkList_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_never); 203 } 204 if (UseShenandoahGC) { 205 def(SATB_Q_FL_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); 206 def(SATB_Q_CBL_mon , PaddedMonitor, nonleaf, true, Monitor::_safepoint_check_never); 207 def(Shared_SATB_Q_lock , PaddedMutex , nonleaf, true, Monitor::_safepoint_check_never); 208 // Shenandoah needs (special-1) rank of the lock, because write barrier can evacuate objects while 209 // thread holding other locks, such as CodeCache_lock, etc. 210 def(StringDedupTable_lock , PaddedMutex , special-1, true, Monitor::_safepoint_check_never); 211 } 212 def(ParGCRareEvent_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_sometimes); 213 def(DerivedPointerTableGC_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); 214 #ifdef INCLUDE_ALL_GCS 215 def(CGCPhaseManager_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_sometimes); 216 #endif 217 def(CodeCache_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); 218 def(RawMonitor_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); 219 def(OopMapCacheAlloc_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for oop_map_cache allocation. 220 221 def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. 222 def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations 223 def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. 224 225 def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread 226 def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always); 227 def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); 228 def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); 229 def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread 230 def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread |