45 Mutex* JmethodIdCreation_lock = NULL; |
45 Mutex* JmethodIdCreation_lock = NULL; |
46 Mutex* JfieldIdCreation_lock = NULL; |
46 Mutex* JfieldIdCreation_lock = NULL; |
47 Monitor* JNICritical_lock = NULL; |
47 Monitor* JNICritical_lock = NULL; |
48 Mutex* JvmtiThreadState_lock = NULL; |
48 Mutex* JvmtiThreadState_lock = NULL; |
49 Monitor* JvmtiPendingEvent_lock = NULL; |
49 Monitor* JvmtiPendingEvent_lock = NULL; |
50 Mutex* Heap_lock = NULL; |
50 Monitor* Heap_lock = NULL; |
51 Mutex* ExpandHeap_lock = NULL; |
51 Mutex* ExpandHeap_lock = NULL; |
52 Mutex* AdapterHandlerLibrary_lock = NULL; |
52 Mutex* AdapterHandlerLibrary_lock = NULL; |
53 Mutex* SignatureHandlerLibrary_lock = NULL; |
53 Mutex* SignatureHandlerLibrary_lock = NULL; |
54 Mutex* VtableStubs_lock = NULL; |
54 Mutex* VtableStubs_lock = NULL; |
55 Mutex* SymbolTable_lock = NULL; |
55 Mutex* SymbolTable_lock = NULL; |
65 Monitor* CGC_lock = NULL; |
65 Monitor* CGC_lock = NULL; |
66 Mutex* STS_init_lock = NULL; |
66 Mutex* STS_init_lock = NULL; |
67 Monitor* SLT_lock = NULL; |
67 Monitor* SLT_lock = NULL; |
68 Monitor* iCMS_lock = NULL; |
68 Monitor* iCMS_lock = NULL; |
69 Monitor* FullGCCount_lock = NULL; |
69 Monitor* FullGCCount_lock = NULL; |
|
70 Monitor* CMark_lock = NULL; |
|
71 Monitor* ZF_mon = NULL; |
|
72 Monitor* Cleanup_mon = NULL; |
|
73 Monitor* G1ConcRefine_mon = 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; |
70 Mutex* ParGCRareEvent_lock = NULL; |
80 Mutex* ParGCRareEvent_lock = NULL; |
|
81 Mutex* EvacFailureStack_lock = NULL; |
71 Mutex* DerivedPointerTableGC_lock = NULL; |
82 Mutex* DerivedPointerTableGC_lock = NULL; |
72 Mutex* Compile_lock = NULL; |
83 Mutex* Compile_lock = NULL; |
73 Monitor* MethodCompileQueue_lock = NULL; |
84 Monitor* MethodCompileQueue_lock = NULL; |
74 #ifdef TIERED |
85 #ifdef TIERED |
75 Monitor* C1_lock = NULL; |
86 Monitor* C1_lock = NULL; |
100 Mutex* RawMonitor_lock = NULL; |
111 Mutex* RawMonitor_lock = NULL; |
101 Mutex* PerfDataMemAlloc_lock = NULL; |
112 Mutex* PerfDataMemAlloc_lock = NULL; |
102 Mutex* PerfDataManager_lock = NULL; |
113 Mutex* PerfDataManager_lock = NULL; |
103 Mutex* OopMapCacheAlloc_lock = NULL; |
114 Mutex* OopMapCacheAlloc_lock = NULL; |
104 |
115 |
|
116 Mutex* MMUTracker_lock = NULL; |
|
117 Mutex* HotCardCache_lock = NULL; |
|
118 |
105 Monitor* GCTaskManager_lock = NULL; |
119 Monitor* GCTaskManager_lock = NULL; |
106 |
120 |
107 Mutex* Management_lock = NULL; |
121 Mutex* Management_lock = NULL; |
108 Monitor* LowMemory_lock = NULL; |
122 Monitor* LowMemory_lock = NULL; |
109 |
123 |
147 def(CGC_lock , Monitor, special, true ); // coordinate between fore- and background GC |
161 def(CGC_lock , Monitor, special, true ); // coordinate between fore- and background GC |
148 def(STS_init_lock , Mutex, leaf, true ); |
162 def(STS_init_lock , Mutex, leaf, true ); |
149 if (UseConcMarkSweepGC) { |
163 if (UseConcMarkSweepGC) { |
150 def(iCMS_lock , Monitor, special, true ); // CMS incremental mode start/stop notification |
164 def(iCMS_lock , Monitor, special, true ); // CMS incremental mode start/stop notification |
151 def(FullGCCount_lock , Monitor, leaf, true ); // in support of ExplicitGCInvokesConcurrent |
165 def(FullGCCount_lock , Monitor, leaf, true ); // in support of ExplicitGCInvokesConcurrent |
|
166 } |
|
167 if (UseG1GC) { |
|
168 def(CMark_lock , Monitor, nonleaf, true ); // coordinate concurrent mark thread |
|
169 def(ZF_mon , Monitor, leaf, true ); |
|
170 def(Cleanup_mon , Monitor, nonleaf, true ); |
|
171 def(G1ConcRefine_mon , Monitor, nonleaf, true ); |
|
172 def(SATB_Q_FL_lock , Mutex , special, true ); |
|
173 def(SATB_Q_CBL_mon , Monitor, nonleaf, true ); |
|
174 def(Shared_SATB_Q_lock , Mutex, nonleaf, true ); |
|
175 |
|
176 def(DirtyCardQ_FL_lock , Mutex , special, true ); |
|
177 def(DirtyCardQ_CBL_mon , Monitor, nonleaf, true ); |
|
178 def(Shared_DirtyCardQ_lock , Mutex, nonleaf, true ); |
|
179 |
|
180 def(MMUTracker_lock , Mutex , leaf , true ); |
|
181 def(HotCardCache_lock , Mutex , special , true ); |
|
182 def(EvacFailureStack_lock , Mutex , nonleaf , true ); |
152 } |
183 } |
153 def(ParGCRareEvent_lock , Mutex , leaf , true ); |
184 def(ParGCRareEvent_lock , Mutex , leaf , true ); |
154 def(DerivedPointerTableGC_lock , Mutex, leaf, true ); |
185 def(DerivedPointerTableGC_lock , Mutex, leaf, true ); |
155 def(CodeCache_lock , Mutex , special, true ); |
186 def(CodeCache_lock , Mutex , special, true ); |
156 def(Interrupt_lock , Monitor, special, true ); // used for interrupt processing |
187 def(Interrupt_lock , Monitor, special, true ); // used for interrupt processing |
201 def(AdapterHandlerLibrary_lock , Mutex , nonleaf, true); |
232 def(AdapterHandlerLibrary_lock , Mutex , nonleaf, true); |
202 if (UseConcMarkSweepGC) { |
233 if (UseConcMarkSweepGC) { |
203 def(SLT_lock , Monitor, nonleaf, false ); |
234 def(SLT_lock , Monitor, nonleaf, false ); |
204 // used in CMS GC for locking PLL lock |
235 // used in CMS GC for locking PLL lock |
205 } |
236 } |
206 def(Heap_lock , Mutex , nonleaf+1, false); |
237 def(Heap_lock , Monitor, nonleaf+1, false); |
207 def(JfieldIdCreation_lock , Mutex , nonleaf+1, true ); // jfieldID, Used in VM_Operation |
238 def(JfieldIdCreation_lock , Mutex , nonleaf+1, true ); // jfieldID, Used in VM_Operation |
208 def(JNICachedItableIndex_lock , Mutex , nonleaf+1, false); // Used to cache an itable index during JNI invoke |
239 def(JNICachedItableIndex_lock , Mutex , nonleaf+1, false); // Used to cache an itable index during JNI invoke |
209 |
240 |
210 def(CompiledIC_lock , Mutex , nonleaf+2, false); // locks VtableStubs_lock, InlineCacheBuffer_lock |
241 def(CompiledIC_lock , Mutex , nonleaf+2, false); // locks VtableStubs_lock, InlineCacheBuffer_lock |
211 def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true ); |
242 def(CompileTaskAlloc_lock , Mutex , nonleaf+2, true ); |