133 Mutex* JfrBuffer_lock = NULL; |
133 Mutex* JfrBuffer_lock = NULL; |
134 Mutex* JfrStream_lock = NULL; |
134 Mutex* JfrStream_lock = NULL; |
135 Mutex* JfrThreadGroups_lock = NULL; |
135 Mutex* JfrThreadGroups_lock = NULL; |
136 #endif |
136 #endif |
137 |
137 |
|
138 #ifndef SUPPORTS_NATIVE_CX8 |
|
139 Mutex* UnsafeJlong_lock = NULL; |
|
140 #endif |
|
141 |
138 #define MAX_NUM_MUTEX 128 |
142 #define MAX_NUM_MUTEX 128 |
139 static Monitor * _mutex_array[MAX_NUM_MUTEX]; |
143 static Monitor * _mutex_array[MAX_NUM_MUTEX]; |
140 static int _num_mutex; |
144 static int _num_mutex; |
141 |
145 |
142 #ifdef ASSERT |
146 #ifdef ASSERT |
284 def(JfrThreadGroups_lock , Mutex, nonleaf+1, true); |
288 def(JfrThreadGroups_lock , Mutex, nonleaf+1, true); |
285 def(JfrStream_lock , Mutex, nonleaf+2, true); |
289 def(JfrStream_lock , Mutex, nonleaf+2, true); |
286 def(JfrStacktrace_lock , Mutex, special, true ); |
290 def(JfrStacktrace_lock , Mutex, special, true ); |
287 #endif |
291 #endif |
288 |
292 |
|
293 #ifndef SUPPORTS_NATIVE_CX8 |
|
294 def(UnsafeJlong_lock , Mutex, special, false); |
|
295 #endif |
289 } |
296 } |
290 |
297 |
291 GCMutexLocker::GCMutexLocker(Monitor * mutex) { |
298 GCMutexLocker::GCMutexLocker(Monitor * mutex) { |
292 if (SafepointSynchronize::is_at_safepoint()) { |
299 if (SafepointSynchronize::is_at_safepoint()) { |
293 _locked = false; |
300 _locked = false; |