46 Mutex* VMStatistic_lock = NULL;
47 Mutex* JNIGlobalHandle_lock = NULL;
48 Mutex* JNIHandleBlockFreeList_lock = NULL;
49 Mutex* MemberNameTable_lock = NULL;
50 Mutex* JmethodIdCreation_lock = NULL;
51 Mutex* JfieldIdCreation_lock = NULL;
52 Monitor* JNICritical_lock = NULL;
53 Mutex* JvmtiThreadState_lock = NULL;
54 Monitor* JvmtiPendingEvent_lock = NULL;
55 Monitor* Heap_lock = NULL;
56 Mutex* ExpandHeap_lock = NULL;
57 Mutex* AdapterHandlerLibrary_lock = NULL;
58 Mutex* SignatureHandlerLibrary_lock = NULL;
59 Mutex* VtableStubs_lock = NULL;
60 Mutex* SymbolTable_lock = NULL;
61 Mutex* StringTable_lock = NULL;
62 Monitor* StringDedupQueue_lock = NULL;
63 Mutex* StringDedupTable_lock = NULL;
64 Monitor* CodeCache_lock = NULL;
65 Mutex* MethodData_lock = NULL;
66 Mutex* RetData_lock = NULL;
67 Monitor* VMOperationQueue_lock = NULL;
68 Monitor* VMOperationRequest_lock = NULL;
69 Monitor* Safepoint_lock = NULL;
70 Monitor* SerializePage_lock = NULL;
71 Monitor* Threads_lock = NULL;
72 Monitor* CGC_lock = NULL;
73 Monitor* STS_lock = NULL;
74 Monitor* SLT_lock = NULL;
75 Monitor* FullGCCount_lock = NULL;
76 Monitor* CMark_lock = NULL;
77 Mutex* CMRegionStack_lock = NULL;
78 Mutex* SATB_Q_FL_lock = NULL;
79 Monitor* SATB_Q_CBL_mon = NULL;
80 Mutex* Shared_SATB_Q_lock = NULL;
81 Mutex* DirtyCardQ_FL_lock = NULL;
82 Monitor* DirtyCardQ_CBL_mon = NULL;
83 Mutex* Shared_DirtyCardQ_lock = NULL;
84 Mutex* ParGCRareEvent_lock = NULL;
85 Mutex* EvacFailureStack_lock = NULL;
254 def(AdapterHandlerLibrary_lock , Mutex , nonleaf, true, Monitor::_safepoint_check_always);
255 if (UseConcMarkSweepGC) {
256 def(SLT_lock , Monitor, nonleaf, false, Monitor::_safepoint_check_never); // used in CMS GC for locking PLL lock
257 }
258
259 def(Heap_lock , Monitor, nonleaf+1, false, Monitor::_safepoint_check_sometimes);
260 def(JfieldIdCreation_lock , Mutex , nonleaf+1, true, Monitor::_safepoint_check_always); // jfieldID, Used in VM_Operation
261 def(MemberNameTable_lock , Mutex , nonleaf+1, false, Monitor::_safepoint_check_always); // Used to protect MemberNameTable
262
263 def(CompiledIC_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // locks VtableStubs_lock, InlineCacheBuffer_lock
264 def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true, Monitor::_safepoint_check_always);
265 def(CompileStatistics_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always);
266 def(MultiArray_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // locks SymbolTable_lock
267
268 def(JvmtiThreadState_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // Used by JvmtiThreadState/JvmtiEventController
269 def(JvmtiPendingEvent_lock , Monitor, nonleaf, false, Monitor::_safepoint_check_never); // Used by JvmtiCodeBlobEvents
270 def(Management_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // used for JVM management
271
272 def(Compile_lock , Mutex , nonleaf+3, true, Monitor::_safepoint_check_sometimes);
273 def(MethodData_lock , Mutex , nonleaf+3, false, Monitor::_safepoint_check_always);
274
275 def(MethodCompileQueue_lock , Monitor, nonleaf+4, true, Monitor::_safepoint_check_always);
276 def(Debug2_lock , Mutex , nonleaf+4, true, Monitor::_safepoint_check_never);
277 def(Debug3_lock , Mutex , nonleaf+4, true, Monitor::_safepoint_check_never);
278 def(ProfileVM_lock , Monitor, special, false, Monitor::_safepoint_check_never); // used for profiling of the VMThread
279 def(CompileThread_lock , Monitor, nonleaf+5, false, Monitor::_safepoint_check_always);
280 def(PeriodicTask_lock , Monitor, nonleaf+5, true, Monitor::_safepoint_check_sometimes);
281 if (WhiteBoxAPI) {
282 def(Compilation_lock , Monitor, leaf, false, Monitor::_safepoint_check_never);
283 }
284
285 #ifdef INCLUDE_TRACE
286 def(JfrMsg_lock , Monitor, leaf, true, Monitor::_safepoint_check_always);
287 def(JfrBuffer_lock , Mutex, leaf, true, Monitor::_safepoint_check_never);
288 def(JfrThreadGroups_lock , Mutex, leaf, true, Monitor::_safepoint_check_always);
289 def(JfrStream_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
290 def(JfrStacktrace_lock , Mutex, special, true, Monitor::_safepoint_check_sometimes);
291 #endif
292
293 #ifndef SUPPORTS_NATIVE_CX8
|
46 Mutex* VMStatistic_lock = NULL;
47 Mutex* JNIGlobalHandle_lock = NULL;
48 Mutex* JNIHandleBlockFreeList_lock = NULL;
49 Mutex* MemberNameTable_lock = NULL;
50 Mutex* JmethodIdCreation_lock = NULL;
51 Mutex* JfieldIdCreation_lock = NULL;
52 Monitor* JNICritical_lock = NULL;
53 Mutex* JvmtiThreadState_lock = NULL;
54 Monitor* JvmtiPendingEvent_lock = NULL;
55 Monitor* Heap_lock = NULL;
56 Mutex* ExpandHeap_lock = NULL;
57 Mutex* AdapterHandlerLibrary_lock = NULL;
58 Mutex* SignatureHandlerLibrary_lock = NULL;
59 Mutex* VtableStubs_lock = NULL;
60 Mutex* SymbolTable_lock = NULL;
61 Mutex* StringTable_lock = NULL;
62 Monitor* StringDedupQueue_lock = NULL;
63 Mutex* StringDedupTable_lock = NULL;
64 Monitor* CodeCache_lock = NULL;
65 Mutex* MethodData_lock = NULL;
66 Mutex* MethodUsage_lock = NULL;
67 Mutex* RetData_lock = NULL;
68 Monitor* VMOperationQueue_lock = NULL;
69 Monitor* VMOperationRequest_lock = NULL;
70 Monitor* Safepoint_lock = NULL;
71 Monitor* SerializePage_lock = NULL;
72 Monitor* Threads_lock = NULL;
73 Monitor* CGC_lock = NULL;
74 Monitor* STS_lock = NULL;
75 Monitor* SLT_lock = NULL;
76 Monitor* FullGCCount_lock = NULL;
77 Monitor* CMark_lock = NULL;
78 Mutex* CMRegionStack_lock = NULL;
79 Mutex* SATB_Q_FL_lock = NULL;
80 Monitor* SATB_Q_CBL_mon = NULL;
81 Mutex* Shared_SATB_Q_lock = NULL;
82 Mutex* DirtyCardQ_FL_lock = NULL;
83 Monitor* DirtyCardQ_CBL_mon = NULL;
84 Mutex* Shared_DirtyCardQ_lock = NULL;
85 Mutex* ParGCRareEvent_lock = NULL;
86 Mutex* EvacFailureStack_lock = NULL;
255 def(AdapterHandlerLibrary_lock , Mutex , nonleaf, true, Monitor::_safepoint_check_always);
256 if (UseConcMarkSweepGC) {
257 def(SLT_lock , Monitor, nonleaf, false, Monitor::_safepoint_check_never); // used in CMS GC for locking PLL lock
258 }
259
260 def(Heap_lock , Monitor, nonleaf+1, false, Monitor::_safepoint_check_sometimes);
261 def(JfieldIdCreation_lock , Mutex , nonleaf+1, true, Monitor::_safepoint_check_always); // jfieldID, Used in VM_Operation
262 def(MemberNameTable_lock , Mutex , nonleaf+1, false, Monitor::_safepoint_check_always); // Used to protect MemberNameTable
263
264 def(CompiledIC_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // locks VtableStubs_lock, InlineCacheBuffer_lock
265 def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true, Monitor::_safepoint_check_always);
266 def(CompileStatistics_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always);
267 def(MultiArray_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // locks SymbolTable_lock
268
269 def(JvmtiThreadState_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // Used by JvmtiThreadState/JvmtiEventController
270 def(JvmtiPendingEvent_lock , Monitor, nonleaf, false, Monitor::_safepoint_check_never); // Used by JvmtiCodeBlobEvents
271 def(Management_lock , Mutex , nonleaf+2, false, Monitor::_safepoint_check_always); // used for JVM management
272
273 def(Compile_lock , Mutex , nonleaf+3, true, Monitor::_safepoint_check_sometimes);
274 def(MethodData_lock , Mutex , nonleaf+3, false, Monitor::_safepoint_check_always);
275 def(MethodUsage_lock , Mutex , nonleaf+3, false, Monitor::_safepoint_check_always);
276
277 def(MethodCompileQueue_lock , Monitor, nonleaf+4, true, Monitor::_safepoint_check_always);
278 def(Debug2_lock , Mutex , nonleaf+4, true, Monitor::_safepoint_check_never);
279 def(Debug3_lock , Mutex , nonleaf+4, true, Monitor::_safepoint_check_never);
280 def(ProfileVM_lock , Monitor, special, false, Monitor::_safepoint_check_never); // used for profiling of the VMThread
281 def(CompileThread_lock , Monitor, nonleaf+5, false, Monitor::_safepoint_check_always);
282 def(PeriodicTask_lock , Monitor, nonleaf+5, true, Monitor::_safepoint_check_sometimes);
283 if (WhiteBoxAPI) {
284 def(Compilation_lock , Monitor, leaf, false, Monitor::_safepoint_check_never);
285 }
286
287 #ifdef INCLUDE_TRACE
288 def(JfrMsg_lock , Monitor, leaf, true, Monitor::_safepoint_check_always);
289 def(JfrBuffer_lock , Mutex, leaf, true, Monitor::_safepoint_check_never);
290 def(JfrThreadGroups_lock , Mutex, leaf, true, Monitor::_safepoint_check_always);
291 def(JfrStream_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
292 def(JfrStacktrace_lock , Mutex, special, true, Monitor::_safepoint_check_sometimes);
293 #endif
294
295 #ifndef SUPPORTS_NATIVE_CX8
|