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* Safepoint_lock = NULL;
69 Monitor* SerializePage_lock = NULL;
70 Monitor* Threads_lock = NULL;
71 Monitor* CGC_lock = NULL;
72 Monitor* STS_lock = NULL;
73 Monitor* FullGCCount_lock = NULL;
74 Mutex* SATB_Q_FL_lock = NULL;
75 Monitor* SATB_Q_CBL_mon = NULL;
76 Mutex* Shared_SATB_Q_lock = NULL;
77 Mutex* DirtyCardQ_FL_lock = NULL;
78 Monitor* DirtyCardQ_CBL_mon = NULL;
79 Mutex* Shared_DirtyCardQ_lock = NULL;
80 Mutex* ParGCRareEvent_lock = NULL;
81 Mutex* DerivedPointerTableGC_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;
89 Mutex* MultiArray_lock = NULL;
90 Monitor* Terminator_lock = NULL;
91 Monitor* BeforeExit_lock = NULL;
92 Monitor* Notify_lock = NULL;
93 Mutex* ProfilePrint_lock = NULL;
94 Mutex* ExceptionCache_lock = NULL;
95 Mutex* OsrList_lock = NULL;
96
97 #ifndef PRODUCT
98 Mutex* FullGCALot_lock = NULL;
99 #endif
177 def(FullGCCount_lock , Monitor, leaf, true, Monitor::_safepoint_check_never); // in support of ExplicitGCInvokesConcurrent
178 }
179 if (UseG1GC) {
180
181 def(SATB_Q_FL_lock , Mutex , special, true, Monitor::_safepoint_check_never);
182 def(SATB_Q_CBL_mon , Monitor, nonleaf, true, Monitor::_safepoint_check_never);
183 def(Shared_SATB_Q_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
184
185 def(DirtyCardQ_FL_lock , Mutex , special, true, Monitor::_safepoint_check_never);
186 def(DirtyCardQ_CBL_mon , Monitor, nonleaf, true, Monitor::_safepoint_check_never);
187 def(Shared_DirtyCardQ_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
188
189 def(FreeList_lock , Mutex, leaf , true, Monitor::_safepoint_check_never);
190 def(SecondaryFreeList_lock , Monitor, leaf , true, Monitor::_safepoint_check_never);
191 def(OldSets_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
192 def(RootRegionScan_lock , Monitor, leaf , true, Monitor::_safepoint_check_never);
193 def(MMUTracker_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
194
195 def(StringDedupQueue_lock , Monitor, leaf, true, Monitor::_safepoint_check_never);
196 def(StringDedupTable_lock , Mutex , leaf, true, Monitor::_safepoint_check_never);
197 }
198 def(ParGCRareEvent_lock , Mutex , leaf , true, Monitor::_safepoint_check_sometimes);
199 def(DerivedPointerTableGC_lock , Mutex, leaf, true, Monitor::_safepoint_check_never);
200 def(CodeCache_lock , Mutex , special, true, Monitor::_safepoint_check_never);
201 def(RawMonitor_lock , Mutex, special, true, Monitor::_safepoint_check_never);
202 def(OopMapCacheAlloc_lock , Mutex, leaf, true, Monitor::_safepoint_check_always); // used for oop_map_cache allocation.
203
204 def(Patching_lock , Mutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching.
205 def(Service_lock , Monitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations
206 def(JmethodIdCreation_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs.
207
208 def(SystemDictionary_lock , Monitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread
209 def(Module_lock , Mutex , leaf+2, true, Monitor::_safepoint_check_always);
210 def(InlineCacheBuffer_lock , Mutex , leaf, true, Monitor::_safepoint_check_always);
211 def(VMStatistic_lock , Mutex , leaf, false, Monitor::_safepoint_check_always);
212 def(ExpandHeap_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread
213 def(JNIHandleBlockFreeList_lock , Mutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread
214 def(SignatureHandlerLibrary_lock , Mutex , leaf, false, Monitor::_safepoint_check_always);
215 def(SymbolTable_lock , Mutex , leaf+2, true, Monitor::_safepoint_check_always);
216 def(StringTable_lock , Mutex , leaf, true, Monitor::_safepoint_check_always);
|
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* Safepoint_lock = NULL;
69 Monitor* SerializePage_lock = NULL;
70 Monitor* Threads_lock = NULL;
71 Monitor* CGC_lock = NULL;
72 Monitor* STS_lock = NULL;
73 Monitor* FullGCCount_lock = NULL;
74 Mutex* SATB_Q_FL_lock = NULL;
75 Monitor* SATB_Q_CBL_mon = NULL;
76 Mutex* Shared_SATB_Q_lock = NULL;
77 Mutex* DirtyCardQ_FL_lock = NULL;
78 Monitor* DirtyCardQ_CBL_mon = NULL;
79 Mutex* Shared_DirtyCardQ_lock = NULL;
80 Mutex* MarkStackFreeList_lock = NULL;
81 Mutex* MarkStackChunkList_lock = NULL;
82 Mutex* ParGCRareEvent_lock = NULL;
83 Mutex* DerivedPointerTableGC_lock = NULL;
84 Mutex* Compile_lock = NULL;
85 Monitor* MethodCompileQueue_lock = NULL;
86 Monitor* CompileThread_lock = NULL;
87 Monitor* Compilation_lock = NULL;
88 Mutex* CompileTaskAlloc_lock = NULL;
89 Mutex* CompileStatistics_lock = NULL;
90 Mutex* DirectivesStack_lock = NULL;
91 Mutex* MultiArray_lock = NULL;
92 Monitor* Terminator_lock = NULL;
93 Monitor* BeforeExit_lock = NULL;
94 Monitor* Notify_lock = NULL;
95 Mutex* ProfilePrint_lock = NULL;
96 Mutex* ExceptionCache_lock = NULL;
97 Mutex* OsrList_lock = NULL;
98
99 #ifndef PRODUCT
100 Mutex* FullGCALot_lock = NULL;
101 #endif
179 def(FullGCCount_lock , Monitor, leaf, true, Monitor::_safepoint_check_never); // in support of ExplicitGCInvokesConcurrent
180 }
181 if (UseG1GC) {
182
183 def(SATB_Q_FL_lock , Mutex , special, true, Monitor::_safepoint_check_never);
184 def(SATB_Q_CBL_mon , Monitor, nonleaf, true, Monitor::_safepoint_check_never);
185 def(Shared_SATB_Q_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
186
187 def(DirtyCardQ_FL_lock , Mutex , special, true, Monitor::_safepoint_check_never);
188 def(DirtyCardQ_CBL_mon , Monitor, nonleaf, true, Monitor::_safepoint_check_never);
189 def(Shared_DirtyCardQ_lock , Mutex, nonleaf, true, Monitor::_safepoint_check_never);
190
191 def(FreeList_lock , Mutex, leaf , true, Monitor::_safepoint_check_never);
192 def(SecondaryFreeList_lock , Monitor, leaf , true, Monitor::_safepoint_check_never);
193 def(OldSets_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
194 def(RootRegionScan_lock , Monitor, leaf , true, Monitor::_safepoint_check_never);
195 def(MMUTracker_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
196
197 def(StringDedupQueue_lock , Monitor, leaf, true, Monitor::_safepoint_check_never);
198 def(StringDedupTable_lock , Mutex , leaf, true, Monitor::_safepoint_check_never);
199
200 def(MarkStackFreeList_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
201 def(MarkStackChunkList_lock , Mutex , leaf , true, Monitor::_safepoint_check_never);
202 }
203 def(ParGCRareEvent_lock , Mutex , leaf , true, Monitor::_safepoint_check_sometimes);
204 def(DerivedPointerTableGC_lock , Mutex, leaf, true, Monitor::_safepoint_check_never);
205 def(CodeCache_lock , Mutex , special, true, Monitor::_safepoint_check_never);
206 def(RawMonitor_lock , Mutex, special, true, Monitor::_safepoint_check_never);
207 def(OopMapCacheAlloc_lock , Mutex, leaf, true, Monitor::_safepoint_check_always); // used for oop_map_cache allocation.
208
209 def(Patching_lock , Mutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching.
210 def(Service_lock , Monitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations
211 def(JmethodIdCreation_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs.
212
213 def(SystemDictionary_lock , Monitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread
214 def(Module_lock , Mutex , leaf+2, true, Monitor::_safepoint_check_always);
215 def(InlineCacheBuffer_lock , Mutex , leaf, true, Monitor::_safepoint_check_always);
216 def(VMStatistic_lock , Mutex , leaf, false, Monitor::_safepoint_check_always);
217 def(ExpandHeap_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread
218 def(JNIHandleBlockFreeList_lock , Mutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread
219 def(SignatureHandlerLibrary_lock , Mutex , leaf, false, Monitor::_safepoint_check_always);
220 def(SymbolTable_lock , Mutex , leaf+2, true, Monitor::_safepoint_check_always);
221 def(StringTable_lock , Mutex , leaf, true, Monitor::_safepoint_check_always);
|