comparison src/share/vm/runtime/mutexLocker.cpp @ 342:37f87013dfd8

6711316: Open source the Garbage-First garbage collector Summary: First mercurial integration of the code for the Garbage-First garbage collector. Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
author ysr
date Thu, 05 Jun 2008 15:57:56 -0700
parents 2a8eb116ebbe
children 1ee8caae33af
comparison
equal deleted inserted replaced
189:0b27f3512f9e 342:37f87013dfd8
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 );