217 }
218 def(ParGCRareEvent_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_sometimes);
219 def(DerivedPointerTableGC_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
220 def(CGCPhaseManager_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_sometimes);
221 def(CodeCache_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
222 def(RawMonitor_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
223 def(OopMapCacheAlloc_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for oop_map_cache allocation.
224
225 def(MetaspaceExpand_lock , PaddedMutex , leaf-1, true, Monitor::_safepoint_check_never);
226
227 def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching.
228 def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations
229 def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs.
230
231 def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread
232 def(SharedDictionary_lock , PaddedMutex, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread
233 def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always);
234 def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always);
235 def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always);
236 def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread
237 def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread
238 def(SignatureHandlerLibrary_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always);
239 def(SymbolTable_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always);
240 def(StringTable_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always);
241 def(ProfilePrint_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); // serial profile printing
242 def(ExceptionCache_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); // serial profile printing
243 def(OsrList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
244 def(Debug1_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
245 #ifndef PRODUCT
246 def(FullGCALot_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); // a lock to make FullGCALot MT safe
247 #endif
248 def(BeforeExit_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always);
249 def(PerfDataMemAlloc_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for allocating PerfData memory for performance data
250 def(PerfDataManager_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for synchronized access to PerfDataManager resources
251
252 // CMS_modUnionTable_lock leaf
253 // CMS_bitMap_lock leaf 1
254 // CMS_freeList_lock leaf 2
255
256 def(Safepoint_lock , PaddedMonitor, safepoint, true, Monitor::_safepoint_check_sometimes); // locks SnippetCache_lock/Threads_lock
257
|
217 }
218 def(ParGCRareEvent_lock , PaddedMutex , leaf , true, Monitor::_safepoint_check_sometimes);
219 def(DerivedPointerTableGC_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
220 def(CGCPhaseManager_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_sometimes);
221 def(CodeCache_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
222 def(RawMonitor_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
223 def(OopMapCacheAlloc_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for oop_map_cache allocation.
224
225 def(MetaspaceExpand_lock , PaddedMutex , leaf-1, true, Monitor::_safepoint_check_never);
226
227 def(Patching_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching.
228 def(Service_lock , PaddedMonitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations
229 def(JmethodIdCreation_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs.
230
231 def(SystemDictionary_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread
232 def(SharedDictionary_lock , PaddedMutex, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread
233 def(Module_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always);
234 def(InlineCacheBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always);
235 def(VMStatistic_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always);
236 def(ExpandHeap_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread
237 def(JNIHandleBlockFreeList_lock , PaddedMutex , leaf-1, true, Monitor::_safepoint_check_never); // handles are used by VM thread
238 def(SignatureHandlerLibrary_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always);
239 def(SymbolTable_lock , PaddedMutex , leaf+2, true, Monitor::_safepoint_check_always);
240 def(StringTable_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always);
241 def(ProfilePrint_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); // serial profile printing
242 def(ExceptionCache_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); // serial profile printing
243 def(OsrList_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
244 def(Debug1_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
245 #ifndef PRODUCT
246 def(FullGCALot_lock , PaddedMutex , leaf, false, Monitor::_safepoint_check_always); // a lock to make FullGCALot MT safe
247 #endif
248 def(BeforeExit_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always);
249 def(PerfDataMemAlloc_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for allocating PerfData memory for performance data
250 def(PerfDataManager_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_always); // used for synchronized access to PerfDataManager resources
251
252 // CMS_modUnionTable_lock leaf
253 // CMS_bitMap_lock leaf 1
254 // CMS_freeList_lock leaf 2
255
256 def(Safepoint_lock , PaddedMonitor, safepoint, true, Monitor::_safepoint_check_sometimes); // locks SnippetCache_lock/Threads_lock
257
|