src/share/vm/runtime/mutexLocker.cpp

changeset 3427
94ec88ca68e2
parent 3156
f08d439fab8c
child 3467
0a10d80352d5
equal deleted inserted replaced
3402:4f25538b54c9 3427:94ec88ca68e2
130 Mutex* HotCardCache_lock = NULL; 130 Mutex* HotCardCache_lock = NULL;
131 131
132 Monitor* GCTaskManager_lock = NULL; 132 Monitor* GCTaskManager_lock = NULL;
133 133
134 Mutex* Management_lock = NULL; 134 Mutex* Management_lock = NULL;
135 Monitor* Service_lock = NULL; 135 Monitor* Service_lock = NULL;
136 Mutex* Stacktrace_lock = NULL;
137
138 Monitor* JfrQuery_lock = NULL;
139 Monitor* JfrMsg_lock = NULL;
140 Mutex* JfrBuffer_lock = NULL;
141 Mutex* JfrStream_lock = NULL;
136 142
137 #define MAX_NUM_MUTEX 128 143 #define MAX_NUM_MUTEX 128
138 static Monitor * _mutex_array[MAX_NUM_MUTEX]; 144 static Monitor * _mutex_array[MAX_NUM_MUTEX];
139 static int _num_mutex; 145 static int _num_mutex;
140 146
205 def(OopMapCacheAlloc_lock , Mutex, leaf, true ); // used for oop_map_cache allocation. 211 def(OopMapCacheAlloc_lock , Mutex, leaf, true ); // used for oop_map_cache allocation.
206 212
207 def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching. 213 def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching.
208 def(ObjAllocPost_lock , Monitor, special, false); 214 def(ObjAllocPost_lock , Monitor, special, false);
209 def(Service_lock , Monitor, special, true ); // used for service thread operations 215 def(Service_lock , Monitor, special, true ); // used for service thread operations
216 def(Stacktrace_lock , Mutex, special, true ); // used for JFR stacktrace database
210 def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs. 217 def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs.
211 218
212 def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread 219 def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread
213 def(PackageTable_lock , Mutex , leaf, false); 220 def(PackageTable_lock , Mutex , leaf, false);
214 def(InlineCacheBuffer_lock , Mutex , leaf, true ); 221 def(InlineCacheBuffer_lock , Mutex , leaf, true );
269 def(MethodCompileQueue_lock , Monitor, nonleaf+4, true ); 276 def(MethodCompileQueue_lock , Monitor, nonleaf+4, true );
270 def(Debug2_lock , Mutex , nonleaf+4, true ); 277 def(Debug2_lock , Mutex , nonleaf+4, true );
271 def(Debug3_lock , Mutex , nonleaf+4, true ); 278 def(Debug3_lock , Mutex , nonleaf+4, true );
272 def(ProfileVM_lock , Monitor, nonleaf+4, false); // used for profiling of the VMThread 279 def(ProfileVM_lock , Monitor, nonleaf+4, false); // used for profiling of the VMThread
273 def(CompileThread_lock , Monitor, nonleaf+5, false ); 280 def(CompileThread_lock , Monitor, nonleaf+5, false );
281
282 def(JfrQuery_lock , Monitor, nonleaf, true); // JFR locks, keep these in consecutive order
283 def(JfrMsg_lock , Monitor, nonleaf+2, true);
284 def(JfrBuffer_lock , Mutex, nonleaf+3, true);
285 def(JfrStream_lock , Mutex, nonleaf+4, true);
274 } 286 }
275 287
276 GCMutexLocker::GCMutexLocker(Monitor * mutex) { 288 GCMutexLocker::GCMutexLocker(Monitor * mutex) {
277 if (SafepointSynchronize::is_at_safepoint()) { 289 if (SafepointSynchronize::is_at_safepoint()) {
278 _locked = false; 290 _locked = false;

mercurial