comparison src/share/vm/runtime/mutexLocker.cpp @ 4840:0a10d80352d5

Merge
author brutisso
date Fri, 27 Jan 2012 09:04:57 +0100
parents eff609af17d7 94ec88ca68e2
children 51111665eda6 da91efe96a93
comparison
equal deleted inserted replaced
4839:b4ebad3520bb 4840:0a10d80352d5
132 132
133 Monitor* GCTaskManager_lock = NULL; 133 Monitor* GCTaskManager_lock = NULL;
134 134
135 Mutex* Management_lock = NULL; 135 Mutex* Management_lock = NULL;
136 Monitor* Service_lock = NULL; 136 Monitor* Service_lock = NULL;
137 Mutex* Stacktrace_lock = NULL;
138
139 Monitor* JfrQuery_lock = NULL;
140 Monitor* JfrMsg_lock = NULL;
141 Mutex* JfrBuffer_lock = NULL;
142 Mutex* JfrStream_lock = NULL;
137 143
138 #define MAX_NUM_MUTEX 128 144 #define MAX_NUM_MUTEX 128
139 static Monitor * _mutex_array[MAX_NUM_MUTEX]; 145 static Monitor * _mutex_array[MAX_NUM_MUTEX];
140 static int _num_mutex; 146 static int _num_mutex;
141 147
207 def(OopMapCacheAlloc_lock , Mutex, leaf, true ); // used for oop_map_cache allocation. 213 def(OopMapCacheAlloc_lock , Mutex, leaf, true ); // used for oop_map_cache allocation.
208 214
209 def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching. 215 def(Patching_lock , Mutex , special, true ); // used for safepointing and code patching.
210 def(ObjAllocPost_lock , Monitor, special, false); 216 def(ObjAllocPost_lock , Monitor, special, false);
211 def(Service_lock , Monitor, special, true ); // used for service thread operations 217 def(Service_lock , Monitor, special, true ); // used for service thread operations
218 def(Stacktrace_lock , Mutex, special, true ); // used for JFR stacktrace database
212 def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs. 219 def(JmethodIdCreation_lock , Mutex , leaf, true ); // used for creating jmethodIDs.
213 220
214 def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread 221 def(SystemDictionary_lock , Monitor, leaf, true ); // lookups done by VM thread
215 def(PackageTable_lock , Mutex , leaf, false); 222 def(PackageTable_lock , Mutex , leaf, false);
216 def(InlineCacheBuffer_lock , Mutex , leaf, true ); 223 def(InlineCacheBuffer_lock , Mutex , leaf, true );
271 def(MethodCompileQueue_lock , Monitor, nonleaf+4, true ); 278 def(MethodCompileQueue_lock , Monitor, nonleaf+4, true );
272 def(Debug2_lock , Mutex , nonleaf+4, true ); 279 def(Debug2_lock , Mutex , nonleaf+4, true );
273 def(Debug3_lock , Mutex , nonleaf+4, true ); 280 def(Debug3_lock , Mutex , nonleaf+4, true );
274 def(ProfileVM_lock , Monitor, nonleaf+4, false); // used for profiling of the VMThread 281 def(ProfileVM_lock , Monitor, nonleaf+4, false); // used for profiling of the VMThread
275 def(CompileThread_lock , Monitor, nonleaf+5, false ); 282 def(CompileThread_lock , Monitor, nonleaf+5, false );
283
284 def(JfrQuery_lock , Monitor, nonleaf, true); // JFR locks, keep these in consecutive order
285 def(JfrMsg_lock , Monitor, nonleaf+2, true);
286 def(JfrBuffer_lock , Mutex, nonleaf+3, true);
287 def(JfrStream_lock , Mutex, nonleaf+4, true);
276 } 288 }
277 289
278 GCMutexLocker::GCMutexLocker(Monitor * mutex) { 290 GCMutexLocker::GCMutexLocker(Monitor * mutex) {
279 if (SafepointSynchronize::is_at_safepoint()) { 291 if (SafepointSynchronize::is_at_safepoint()) {
280 _locked = false; 292 _locked = false;