52 Mutex* StringTableWeakAlloc_lock = NULL; |
52 Mutex* StringTableWeakAlloc_lock = NULL; |
53 Mutex* StringTableWeakActive_lock = NULL; |
53 Mutex* StringTableWeakActive_lock = NULL; |
54 Mutex* JNIHandleBlockFreeList_lock = NULL; |
54 Mutex* JNIHandleBlockFreeList_lock = NULL; |
55 Mutex* VMWeakAlloc_lock = NULL; |
55 Mutex* VMWeakAlloc_lock = NULL; |
56 Mutex* VMWeakActive_lock = NULL; |
56 Mutex* VMWeakActive_lock = NULL; |
57 Mutex* ResolvedMethodTable_lock = NULL; |
57 Mutex* ResolvedMethodTableWeakAlloc_lock = NULL; |
|
58 Mutex* ResolvedMethodTableWeakActive_lock = NULL; |
58 Mutex* JmethodIdCreation_lock = NULL; |
59 Mutex* JmethodIdCreation_lock = NULL; |
59 Mutex* JfieldIdCreation_lock = NULL; |
60 Mutex* JfieldIdCreation_lock = NULL; |
60 Monitor* JNICritical_lock = NULL; |
61 Monitor* JNICritical_lock = NULL; |
61 Mutex* JvmtiThreadState_lock = NULL; |
62 Mutex* JvmtiThreadState_lock = NULL; |
62 Monitor* Heap_lock = NULL; |
63 Monitor* Heap_lock = NULL; |
210 def(VMWeakActive_lock , PaddedMutex , vmweak-1, true, Monitor::_safepoint_check_never); |
211 def(VMWeakActive_lock , PaddedMutex , vmweak-1, true, Monitor::_safepoint_check_never); |
211 |
212 |
212 def(StringTableWeakAlloc_lock , PaddedMutex , vmweak, true, Monitor::_safepoint_check_never); |
213 def(StringTableWeakAlloc_lock , PaddedMutex , vmweak, true, Monitor::_safepoint_check_never); |
213 def(StringTableWeakActive_lock , PaddedMutex , vmweak-1, true, Monitor::_safepoint_check_never); |
214 def(StringTableWeakActive_lock , PaddedMutex , vmweak-1, true, Monitor::_safepoint_check_never); |
214 |
215 |
|
216 def(ResolvedMethodTableWeakAlloc_lock , PaddedMutex , vmweak, true, Monitor::_safepoint_check_never); |
|
217 def(ResolvedMethodTableWeakActive_lock , PaddedMutex , vmweak-1, true, Monitor::_safepoint_check_never); |
|
218 |
215 if (UseConcMarkSweepGC || UseG1GC) { |
219 if (UseConcMarkSweepGC || UseG1GC) { |
216 def(FullGCCount_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never); // in support of ExplicitGCInvokesConcurrent |
220 def(FullGCCount_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never); // in support of ExplicitGCInvokesConcurrent |
217 } |
221 } |
218 if (UseG1GC) { |
222 if (UseG1GC) { |
219 def(SATB_Q_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never); |
223 def(SATB_Q_CBL_mon , PaddedMonitor, access, true, Monitor::_safepoint_check_never); |
296 def(JNICritical_lock , PaddedMonitor, nonleaf, true, Monitor::_safepoint_check_always); // used for JNI critical regions |
300 def(JNICritical_lock , PaddedMonitor, nonleaf, true, Monitor::_safepoint_check_always); // used for JNI critical regions |
297 def(AdapterHandlerLibrary_lock , PaddedMutex , nonleaf, true, Monitor::_safepoint_check_always); |
301 def(AdapterHandlerLibrary_lock , PaddedMutex , nonleaf, true, Monitor::_safepoint_check_always); |
298 |
302 |
299 def(Heap_lock , PaddedMonitor, nonleaf+1, false, Monitor::_safepoint_check_sometimes); |
303 def(Heap_lock , PaddedMonitor, nonleaf+1, false, Monitor::_safepoint_check_sometimes); |
300 def(JfieldIdCreation_lock , PaddedMutex , nonleaf+1, true, Monitor::_safepoint_check_always); // jfieldID, Used in VM_Operation |
304 def(JfieldIdCreation_lock , PaddedMutex , nonleaf+1, true, Monitor::_safepoint_check_always); // jfieldID, Used in VM_Operation |
301 def(ResolvedMethodTable_lock , PaddedMutex , nonleaf+1, false, Monitor::_safepoint_check_always); // Used to protect ResolvedMethodTable |
|
302 |
305 |
303 def(CompiledIC_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_never); // locks VtableStubs_lock, InlineCacheBuffer_lock |
306 def(CompiledIC_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_never); // locks VtableStubs_lock, InlineCacheBuffer_lock |
304 def(CompileTaskAlloc_lock , PaddedMutex , nonleaf+2, true, Monitor::_safepoint_check_always); |
307 def(CompileTaskAlloc_lock , PaddedMutex , nonleaf+2, true, Monitor::_safepoint_check_always); |
305 def(CompileStatistics_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always); |
308 def(CompileStatistics_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always); |
306 def(DirectivesStack_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); |
309 def(DirectivesStack_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never); |