48 Mutex* VMStatistic_lock = NULL;
49 Mutex* JNIHandleBlockFreeList_lock = NULL;
50 Mutex* JmethodIdCreation_lock = NULL;
51 Mutex* JfieldIdCreation_lock = NULL;
52 Monitor* JNICritical_lock = NULL;
53 Mutex* JvmtiThreadState_lock = NULL;
54 Monitor* Heap_lock = NULL;
55 Mutex* ExpandHeap_lock = NULL;
56 Mutex* AdapterHandlerLibrary_lock = NULL;
57 Mutex* SignatureHandlerLibrary_lock = NULL;
58 Mutex* VtableStubs_lock = NULL;
59 Mutex* SymbolArena_lock = NULL;
60 Monitor* StringDedupQueue_lock = NULL;
61 Mutex* StringDedupTable_lock = NULL;
62 Monitor* CodeCache_lock = NULL;
63 Mutex* MethodData_lock = NULL;
64 Mutex* TouchedMethodLog_lock = NULL;
65 Mutex* RetData_lock = NULL;
66 Monitor* VMOperationQueue_lock = NULL;
67 Monitor* VMOperationRequest_lock = NULL;
68 Monitor* SerializePage_lock = NULL;
69 Monitor* Threads_lock = NULL;
70 Mutex* NonJavaThreadsList_lock = NULL;
71 Mutex* NonJavaThreadsListSync_lock = NULL;
72 Monitor* CGC_lock = NULL;
73 Monitor* STS_lock = NULL;
74 Monitor* FullGCCount_lock = NULL;
75 Monitor* DirtyCardQ_CBL_mon = NULL;
76 Mutex* Shared_DirtyCardQ_lock = NULL;
77 Mutex* MarkStackFreeList_lock = NULL;
78 Mutex* MarkStackChunkList_lock = NULL;
79 Mutex* MonitoringSupport_lock = NULL;
80 Mutex* ParGCRareEvent_lock = NULL;
81 Monitor* CGCPhaseManager_lock = NULL;
82 Mutex* Compile_lock = NULL;
83 Monitor* MethodCompileQueue_lock = NULL;
84 Monitor* CompileThread_lock = NULL;
85 Monitor* Compilation_lock = NULL;
86 Mutex* CompileTaskAlloc_lock = NULL;
87 Mutex* CompileStatistics_lock = NULL;
88 Mutex* DirectivesStack_lock = NULL;
101
102 Mutex* Debug1_lock = NULL;
103 Mutex* Debug2_lock = NULL;
104 Mutex* Debug3_lock = NULL;
105
106 Mutex* tty_lock = NULL;
107
108 Mutex* RawMonitor_lock = NULL;
109 Mutex* PerfDataMemAlloc_lock = NULL;
110 Mutex* PerfDataManager_lock = NULL;
111 Mutex* OopMapCacheAlloc_lock = NULL;
112
113 Mutex* FreeList_lock = NULL;
114 Mutex* OldSets_lock = NULL;
115 Monitor* RootRegionScan_lock = NULL;
116
117 Mutex* Management_lock = NULL;
118 Monitor* Service_lock = NULL;
119 Monitor* PeriodicTask_lock = NULL;
120 Monitor* RedefineClasses_lock = NULL;
121
122 #if INCLUDE_JFR
123 Mutex* JfrStacktrace_lock = NULL;
124 Monitor* JfrMsg_lock = NULL;
125 Mutex* JfrBuffer_lock = NULL;
126 Mutex* JfrStream_lock = NULL;
127 Monitor* JfrThreadSampler_lock = NULL;
128 #endif
129
130 #ifndef SUPPORTS_NATIVE_CX8
131 Mutex* UnsafeJlong_lock = NULL;
132 #endif
133 Mutex* CodeHeapStateAnalytics_lock = NULL;
134
135 Mutex* MetaspaceExpand_lock = NULL;
136 Mutex* ClassLoaderDataGraph_lock = NULL;
137 Monitor* ThreadsSMRDelete_lock = NULL;
138 Mutex* SharedDecoder_lock = NULL;
139 Mutex* DCmdFactory_lock = NULL;
140 #if INCLUDE_NMT
280
281 def(CompiledIC_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_never); // locks VtableStubs_lock, InlineCacheBuffer_lock
282 def(CompileTaskAlloc_lock , PaddedMutex , nonleaf+2, true, Monitor::_safepoint_check_always);
283 def(CompileStatistics_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always);
284 def(DirectivesStack_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
285 def(MultiArray_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always);
286
287 def(JvmtiThreadState_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always); // Used by JvmtiThreadState/JvmtiEventController
288 def(Management_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always); // used for JVM management
289
290 def(Compile_lock , PaddedMutex , nonleaf+3, true, Monitor::_safepoint_check_always);
291 def(MethodData_lock , PaddedMutex , nonleaf+3, false, Monitor::_safepoint_check_always);
292 def(TouchedMethodLog_lock , PaddedMutex , nonleaf+3, false, Monitor::_safepoint_check_always);
293
294 def(MethodCompileQueue_lock , PaddedMonitor, nonleaf+4, true, Monitor::_safepoint_check_always);
295 def(Debug2_lock , PaddedMutex , nonleaf+4, true, Monitor::_safepoint_check_never);
296 def(Debug3_lock , PaddedMutex , nonleaf+4, true, Monitor::_safepoint_check_never);
297 def(CompileThread_lock , PaddedMonitor, nonleaf+5, false, Monitor::_safepoint_check_always);
298 def(PeriodicTask_lock , PaddedMonitor, nonleaf+5, true, Monitor::_safepoint_check_always);
299 def(RedefineClasses_lock , PaddedMonitor, nonleaf+5, true, Monitor::_safepoint_check_always);
300
301 if (WhiteBoxAPI) {
302 def(Compilation_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_never);
303 }
304
305 #if INCLUDE_JFR
306 def(JfrMsg_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always);
307 def(JfrBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
308 def(JfrStream_lock , PaddedMutex , leaf+1, true, Monitor::_safepoint_check_never); // ensure to rank lower than 'safepoint'
309 def(JfrStacktrace_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
310 def(JfrThreadSampler_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never);
311 #endif
312
313 #ifndef SUPPORTS_NATIVE_CX8
314 def(UnsafeJlong_lock , PaddedMutex , special, false, Monitor::_safepoint_check_never);
315 #endif
316
317 def(CodeHeapStateAnalytics_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
318 def(NMethodSweeperStats_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
319 def(ThreadsSMRDelete_lock , PaddedMonitor, special, false, Monitor::_safepoint_check_never);
|
48 Mutex* VMStatistic_lock = NULL;
49 Mutex* JNIHandleBlockFreeList_lock = NULL;
50 Mutex* JmethodIdCreation_lock = NULL;
51 Mutex* JfieldIdCreation_lock = NULL;
52 Monitor* JNICritical_lock = NULL;
53 Mutex* JvmtiThreadState_lock = NULL;
54 Monitor* Heap_lock = NULL;
55 Mutex* ExpandHeap_lock = NULL;
56 Mutex* AdapterHandlerLibrary_lock = NULL;
57 Mutex* SignatureHandlerLibrary_lock = NULL;
58 Mutex* VtableStubs_lock = NULL;
59 Mutex* SymbolArena_lock = NULL;
60 Monitor* StringDedupQueue_lock = NULL;
61 Mutex* StringDedupTable_lock = NULL;
62 Monitor* CodeCache_lock = NULL;
63 Mutex* MethodData_lock = NULL;
64 Mutex* TouchedMethodLog_lock = NULL;
65 Mutex* RetData_lock = NULL;
66 Monitor* VMOperationQueue_lock = NULL;
67 Monitor* VMOperationRequest_lock = NULL;
68 Monitor* Threads_lock = NULL;
69 Mutex* NonJavaThreadsList_lock = NULL;
70 Mutex* NonJavaThreadsListSync_lock = NULL;
71 Monitor* CGC_lock = NULL;
72 Monitor* STS_lock = NULL;
73 Monitor* FullGCCount_lock = NULL;
74 Monitor* DirtyCardQ_CBL_mon = NULL;
75 Mutex* Shared_DirtyCardQ_lock = NULL;
76 Mutex* MarkStackFreeList_lock = NULL;
77 Mutex* MarkStackChunkList_lock = NULL;
78 Mutex* MonitoringSupport_lock = NULL;
79 Mutex* ParGCRareEvent_lock = NULL;
80 Monitor* CGCPhaseManager_lock = NULL;
81 Mutex* Compile_lock = NULL;
82 Monitor* MethodCompileQueue_lock = NULL;
83 Monitor* CompileThread_lock = NULL;
84 Monitor* Compilation_lock = NULL;
85 Mutex* CompileTaskAlloc_lock = NULL;
86 Mutex* CompileStatistics_lock = NULL;
87 Mutex* DirectivesStack_lock = NULL;
100
101 Mutex* Debug1_lock = NULL;
102 Mutex* Debug2_lock = NULL;
103 Mutex* Debug3_lock = NULL;
104
105 Mutex* tty_lock = NULL;
106
107 Mutex* RawMonitor_lock = NULL;
108 Mutex* PerfDataMemAlloc_lock = NULL;
109 Mutex* PerfDataManager_lock = NULL;
110 Mutex* OopMapCacheAlloc_lock = NULL;
111
112 Mutex* FreeList_lock = NULL;
113 Mutex* OldSets_lock = NULL;
114 Monitor* RootRegionScan_lock = NULL;
115
116 Mutex* Management_lock = NULL;
117 Monitor* Service_lock = NULL;
118 Monitor* PeriodicTask_lock = NULL;
119 Monitor* RedefineClasses_lock = NULL;
120 Mutex* Verify_lock = NULL;
121
122 #if INCLUDE_JFR
123 Mutex* JfrStacktrace_lock = NULL;
124 Monitor* JfrMsg_lock = NULL;
125 Mutex* JfrBuffer_lock = NULL;
126 Mutex* JfrStream_lock = NULL;
127 Monitor* JfrThreadSampler_lock = NULL;
128 #endif
129
130 #ifndef SUPPORTS_NATIVE_CX8
131 Mutex* UnsafeJlong_lock = NULL;
132 #endif
133 Mutex* CodeHeapStateAnalytics_lock = NULL;
134
135 Mutex* MetaspaceExpand_lock = NULL;
136 Mutex* ClassLoaderDataGraph_lock = NULL;
137 Monitor* ThreadsSMRDelete_lock = NULL;
138 Mutex* SharedDecoder_lock = NULL;
139 Mutex* DCmdFactory_lock = NULL;
140 #if INCLUDE_NMT
280
281 def(CompiledIC_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_never); // locks VtableStubs_lock, InlineCacheBuffer_lock
282 def(CompileTaskAlloc_lock , PaddedMutex , nonleaf+2, true, Monitor::_safepoint_check_always);
283 def(CompileStatistics_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always);
284 def(DirectivesStack_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
285 def(MultiArray_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always);
286
287 def(JvmtiThreadState_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always); // Used by JvmtiThreadState/JvmtiEventController
288 def(Management_lock , PaddedMutex , nonleaf+2, false, Monitor::_safepoint_check_always); // used for JVM management
289
290 def(Compile_lock , PaddedMutex , nonleaf+3, true, Monitor::_safepoint_check_always);
291 def(MethodData_lock , PaddedMutex , nonleaf+3, false, Monitor::_safepoint_check_always);
292 def(TouchedMethodLog_lock , PaddedMutex , nonleaf+3, false, Monitor::_safepoint_check_always);
293
294 def(MethodCompileQueue_lock , PaddedMonitor, nonleaf+4, true, Monitor::_safepoint_check_always);
295 def(Debug2_lock , PaddedMutex , nonleaf+4, true, Monitor::_safepoint_check_never);
296 def(Debug3_lock , PaddedMutex , nonleaf+4, true, Monitor::_safepoint_check_never);
297 def(CompileThread_lock , PaddedMonitor, nonleaf+5, false, Monitor::_safepoint_check_always);
298 def(PeriodicTask_lock , PaddedMonitor, nonleaf+5, true, Monitor::_safepoint_check_always);
299 def(RedefineClasses_lock , PaddedMonitor, nonleaf+5, true, Monitor::_safepoint_check_always);
300 def(Verify_lock , PaddedMutex, nonleaf+5, true, Monitor::_safepoint_check_always);
301
302 if (WhiteBoxAPI) {
303 def(Compilation_lock , PaddedMonitor, leaf, false, Monitor::_safepoint_check_never);
304 }
305
306 #if INCLUDE_JFR
307 def(JfrMsg_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_always);
308 def(JfrBuffer_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
309 def(JfrStream_lock , PaddedMutex , leaf+1, true, Monitor::_safepoint_check_never); // ensure to rank lower than 'safepoint'
310 def(JfrStacktrace_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
311 def(JfrThreadSampler_lock , PaddedMonitor, leaf, true, Monitor::_safepoint_check_never);
312 #endif
313
314 #ifndef SUPPORTS_NATIVE_CX8
315 def(UnsafeJlong_lock , PaddedMutex , special, false, Monitor::_safepoint_check_never);
316 #endif
317
318 def(CodeHeapStateAnalytics_lock , PaddedMutex , leaf, true, Monitor::_safepoint_check_never);
319 def(NMethodSweeperStats_lock , PaddedMutex , special, true, Monitor::_safepoint_check_never);
320 def(ThreadsSMRDelete_lock , PaddedMonitor, special, false, Monitor::_safepoint_check_never);
|