Skip to content

Commit 707926a

Browse files
author
duke
committedSep 1, 2021
Automatic merge of jdk:master into master
2 parents dc25b81 + 9689f61 commit 707926a

File tree

4 files changed

+6
-16
lines changed

4 files changed

+6
-16
lines changed
 

‎src/hotspot/share/prims/jvmtiTagMap.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ bool JvmtiTagMap::_has_object_free_events = false;
7272
// create a JvmtiTagMap
7373
JvmtiTagMap::JvmtiTagMap(JvmtiEnv* env) :
7474
_env(env),
75-
_lock(Mutex::nonleaf+1, "JvmtiTagMap_lock", Mutex::_safepoint_check_never),
75+
_lock(Mutex::leaf, "JvmtiTagMap_lock", Mutex::_safepoint_check_never),
7676
_needs_rehashing(false),
7777
_needs_cleaning(false) {
7878

‎src/hotspot/share/runtime/mutex.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,9 @@ Mutex::Mutex(int Rank, const char * name, SafepointCheckRequired safepoint_check
285285
_safepoint_check_required = safepoint_check_required;
286286
_skip_rank_check = false;
287287

288+
assert(_rank < nonleaf || _safepoint_check_required == _safepoint_check_always,
289+
"higher than nonleaf should safepoint %s", name);
290+
288291
assert(_rank > special || _safepoint_check_required == _safepoint_check_never,
289292
"Special locks or below should never safepoint");
290293

‎src/hotspot/share/runtime/mutexLocker.cpp

+2-11
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,6 @@ Mutex* NMethodSweeperStats_lock = NULL;
9999
Mutex* FullGCALot_lock = NULL;
100100
#endif
101101

102-
Mutex* Debug1_lock = NULL;
103-
Mutex* Debug2_lock = NULL;
104-
Mutex* Debug3_lock = NULL;
105-
106102
Mutex* tty_lock = NULL;
107103

108104
Mutex* RawMonitor_lock = NULL;
@@ -128,7 +124,6 @@ Monitor* Zip_lock = NULL;
128124
Mutex* JfrStacktrace_lock = NULL;
129125
Monitor* JfrMsg_lock = NULL;
130126
Mutex* JfrBuffer_lock = NULL;
131-
Mutex* JfrStream_lock = NULL;
132127
Monitor* JfrThreadSampler_lock = NULL;
133128
#endif
134129

@@ -264,7 +259,6 @@ void mutex_init() {
264259
def(SymbolArena_lock , PaddedMutex , leaf+2, true, _safepoint_check_never);
265260
def(ProfilePrint_lock , PaddedMutex , leaf, false, _safepoint_check_always); // serial profile printing
266261
def(ExceptionCache_lock , PaddedMutex , leaf, false, _safepoint_check_always); // serial profile printing
267-
def(Debug1_lock , PaddedMutex , leaf, true, _safepoint_check_never);
268262
#ifndef PRODUCT
269263
def(FullGCALot_lock , PaddedMutex , leaf, false, _safepoint_check_always); // a lock to make FullGCALot MT safe
270264
#endif
@@ -280,15 +274,15 @@ void mutex_init() {
280274
def(RetData_lock , PaddedMutex , nonleaf, false, _safepoint_check_always);
281275
def(Terminator_lock , PaddedMonitor, nonleaf, true, _safepoint_check_always);
282276
def(InitCompleted_lock , PaddedMonitor, leaf, true, _safepoint_check_never);
283-
def(VtableStubs_lock , PaddedMutex , nonleaf, true, _safepoint_check_never);
277+
def(VtableStubs_lock , PaddedMutex , leaf, true, _safepoint_check_never);
284278
def(Notify_lock , PaddedMonitor, nonleaf, true, _safepoint_check_always);
285279
def(JNICritical_lock , PaddedMonitor, nonleaf, true, _safepoint_check_always); // used for JNI critical regions
286280
def(AdapterHandlerLibrary_lock , PaddedMutex , nonleaf, true, _safepoint_check_always);
287281

288282
def(Heap_lock , PaddedMonitor, nonleaf+1, false, _safepoint_check_always); // Doesn't safepoint check during termination.
289283
def(JfieldIdCreation_lock , PaddedMutex , nonleaf+1, true, _safepoint_check_always); // jfieldID, Used in VM_Operation
290284

291-
def(CompiledIC_lock , PaddedMutex , nonleaf+2, true, _safepoint_check_never); // locks VtableStubs_lock, InlineCacheBuffer_lock
285+
def(CompiledIC_lock , PaddedMutex , leaf+2, true, _safepoint_check_never); // locks VtableStubs_lock, InlineCacheBuffer_lock
292286
def(CompileTaskAlloc_lock , PaddedMutex , nonleaf+2, true, _safepoint_check_always);
293287
def(CompileStatistics_lock , PaddedMutex , nonleaf+2, false, _safepoint_check_always);
294288
def(DirectivesStack_lock , PaddedMutex , special, true, _safepoint_check_never);
@@ -304,8 +298,6 @@ void mutex_init() {
304298
def(TouchedMethodLog_lock , PaddedMutex , nonleaf+3, false, _safepoint_check_always);
305299

306300
def(MethodCompileQueue_lock , PaddedMonitor, nonleaf+4, false, _safepoint_check_always);
307-
def(Debug2_lock , PaddedMutex , nonleaf+4, true, _safepoint_check_never);
308-
def(Debug3_lock , PaddedMutex , nonleaf+4, true, _safepoint_check_never);
309301
def(CompileThread_lock , PaddedMonitor, nonleaf+5, false, _safepoint_check_always);
310302
def(PeriodicTask_lock , PaddedMonitor, nonleaf+5, true, _safepoint_check_always);
311303
def(RedefineClasses_lock , PaddedMonitor, nonleaf+5, true, _safepoint_check_always);
@@ -319,7 +311,6 @@ void mutex_init() {
319311
#if INCLUDE_JFR
320312
def(JfrMsg_lock , PaddedMonitor, leaf, true, _safepoint_check_always);
321313
def(JfrBuffer_lock , PaddedMutex , leaf, true, _safepoint_check_never);
322-
def(JfrStream_lock , PaddedMutex , nonleaf + 1, true, _safepoint_check_never);
323314
def(JfrStacktrace_lock , PaddedMutex , stackwatermark-1, true, _safepoint_check_never);
324315
def(JfrThreadSampler_lock , PaddedMonitor, leaf, true, _safepoint_check_never);
325316
#endif

‎src/hotspot/share/runtime/mutexLocker.hpp

-4
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,6 @@ extern Mutex* NMethodSweeperStats_lock; // a lock used to serialize acc
9393
#ifndef PRODUCT
9494
extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe
9595
#endif // PRODUCT
96-
extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing
97-
extern Mutex* Debug2_lock; // down synchronization related bugs!
98-
extern Mutex* Debug3_lock;
9996

10097
extern Mutex* RawMonitor_lock;
10198
extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data
@@ -137,7 +134,6 @@ extern Mutex* LambdaFormInvokers_lock; // Protecting LambdaFormInvoker
137134
extern Mutex* JfrStacktrace_lock; // used to guard access to the JFR stacktrace table
138135
extern Monitor* JfrMsg_lock; // protects JFR messaging
139136
extern Mutex* JfrBuffer_lock; // protects JFR buffer operations
140-
extern Mutex* JfrStream_lock; // protects JFR stream access
141137
extern Monitor* JfrThreadSampler_lock; // used to suspend/resume JFR thread sampler
142138
#endif
143139

0 commit comments

Comments
 (0)
Please sign in to comment.