Skip to content

Commit 71d593e

Browse files
committed
8275162: Use varargs in 'def' macros in mutexLocker.cpp
Reviewed-by: dholmes, pchilanomate
1 parent 7ca053d commit 71d593e

File tree

1 file changed

+79
-79
lines changed

1 file changed

+79
-79
lines changed

src/hotspot/share/runtime/mutexLocker.cpp

Lines changed: 79 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -199,161 +199,161 @@ static void add_mutex(Mutex* var) {
199199
_mutex_array[_num_mutex++] = var;
200200
}
201201

202-
#define def(var, type, pri, vm_block) { \
203-
var = new type(Mutex::pri, #var, vm_block); \
202+
#define def(var, type, pri, ...) { \
203+
var = new type(Mutex::pri, #var, ##__VA_ARGS__); \
204204
add_mutex(var); \
205205
}
206206

207207
// Specify relative ranked lock
208208
#ifdef ASSERT
209-
#define defl(var, type, held_lock, vm_block) { \
210-
var = new type(held_lock->rank()-1, #var, vm_block); \
209+
#define defl(var, type, held_lock, ...) { \
210+
var = new type(held_lock->rank()-1, #var, ##__VA_ARGS__); \
211211
add_mutex(var); \
212212
}
213213
#else
214-
#define defl(var, type, held_lock, vm_block) { \
215-
var = new type(Mutex::safepoint, #var, vm_block); \
214+
#define defl(var, type, held_lock, ...) { \
215+
var = new type(Mutex::safepoint, #var, ##__VA_ARGS__); \
216216
add_mutex(var); \
217217
}
218218
#endif
219219

220220
// Using Padded subclasses to prevent false sharing of these global monitors and mutexes.
221221
void mutex_init() {
222-
def(tty_lock , PaddedMutex , tty, true); // allow to lock in VM
222+
def(tty_lock , PaddedMutex , tty); // allow to lock in VM
223223

224-
def(STS_lock , PaddedMonitor, nosafepoint, true);
224+
def(STS_lock , PaddedMonitor, nosafepoint);
225225

226226
if (UseG1GC) {
227-
def(CGC_lock , PaddedMonitor, nosafepoint, true);
227+
def(CGC_lock , PaddedMonitor, nosafepoint);
228228

229-
def(G1DetachedRefinementStats_lock, PaddedMutex, nosafepoint-2, true);
229+
def(G1DetachedRefinementStats_lock, PaddedMutex, nosafepoint-2);
230230

231-
def(FreeList_lock , PaddedMutex , service-1, true);
232-
def(OldSets_lock , PaddedMutex , nosafepoint, true);
233-
def(Uncommit_lock , PaddedMutex , service-2, true);
234-
def(RootRegionScan_lock , PaddedMonitor, nosafepoint-1, true);
231+
def(FreeList_lock , PaddedMutex , service-1);
232+
def(OldSets_lock , PaddedMutex , nosafepoint);
233+
def(Uncommit_lock , PaddedMutex , service-2);
234+
def(RootRegionScan_lock , PaddedMonitor, nosafepoint-1);
235235

236-
def(MarkStackFreeList_lock , PaddedMutex , nosafepoint, true);
237-
def(MarkStackChunkList_lock , PaddedMutex , nosafepoint, true);
236+
def(MarkStackFreeList_lock , PaddedMutex , nosafepoint);
237+
def(MarkStackChunkList_lock , PaddedMutex , nosafepoint);
238238

239-
def(MonitoringSupport_lock , PaddedMutex , service-1, true); // used for serviceability monitoring support
239+
def(MonitoringSupport_lock , PaddedMutex , service-1); // used for serviceability monitoring support
240240
}
241-
def(StringDedup_lock , PaddedMonitor, nosafepoint, true);
242-
def(StringDedupIntern_lock , PaddedMutex , nosafepoint, true);
243-
def(ParGCRareEvent_lock , PaddedMutex , safepoint, true);
244-
def(RawMonitor_lock , PaddedMutex , nosafepoint-1, true);
241+
def(StringDedup_lock , PaddedMonitor, nosafepoint);
242+
def(StringDedupIntern_lock , PaddedMutex , nosafepoint);
243+
def(ParGCRareEvent_lock , PaddedMutex , safepoint, true);
244+
def(RawMonitor_lock , PaddedMutex , nosafepoint-1);
245245

246-
def(Metaspace_lock , PaddedMutex , nosafepoint-3, true);
246+
def(Metaspace_lock , PaddedMutex , nosafepoint-3);
247247

248-
def(Patching_lock , PaddedMutex , nosafepoint, true); // used for safepointing and code patching.
249-
def(MonitorDeflation_lock , PaddedMonitor, nosafepoint, true); // used for monitor deflation thread operations
250-
def(Service_lock , PaddedMonitor, service, true); // used for service thread operations
248+
def(Patching_lock , PaddedMutex , nosafepoint); // used for safepointing and code patching.
249+
def(MonitorDeflation_lock , PaddedMonitor, nosafepoint); // used for monitor deflation thread operations
250+
def(Service_lock , PaddedMonitor, service); // used for service thread operations
251251

252252
if (UseNotificationThread) {
253-
def(Notification_lock , PaddedMonitor, service, true); // used for notification thread operations
253+
def(Notification_lock , PaddedMonitor, service); // used for notification thread operations
254254
} else {
255255
Notification_lock = Service_lock;
256256
}
257257

258-
def(JmethodIdCreation_lock , PaddedMutex , nosafepoint-2, true); // used for creating jmethodIDs.
258+
def(JmethodIdCreation_lock , PaddedMutex , nosafepoint-2); // used for creating jmethodIDs.
259259

260260
def(SharedDictionary_lock , PaddedMutex , safepoint, true);
261-
def(VMStatistic_lock , PaddedMutex , safepoint, false);
262-
def(JNIHandleBlockFreeList_lock , PaddedMutex , nosafepoint-1, true); // handles are used by VM thread
263-
def(SignatureHandlerLibrary_lock , PaddedMutex , safepoint, false);
264-
def(SymbolArena_lock , PaddedMutex , nosafepoint, true);
265-
def(ExceptionCache_lock , PaddedMutex , safepoint, false);
261+
def(VMStatistic_lock , PaddedMutex , safepoint);
262+
def(JNIHandleBlockFreeList_lock , PaddedMutex , nosafepoint-1); // handles are used by VM thread
263+
def(SignatureHandlerLibrary_lock , PaddedMutex , safepoint);
264+
def(SymbolArena_lock , PaddedMutex , nosafepoint);
265+
def(ExceptionCache_lock , PaddedMutex , safepoint);
266266
#ifndef PRODUCT
267-
def(FullGCALot_lock , PaddedMutex , safepoint, false); // a lock to make FullGCALot MT safe
267+
def(FullGCALot_lock , PaddedMutex , safepoint); // a lock to make FullGCALot MT safe
268268
#endif
269269
def(BeforeExit_lock , PaddedMonitor, safepoint, true);
270270

271-
def(NonJavaThreadsList_lock , PaddedMutex, nosafepoint-1, true);
272-
def(NonJavaThreadsListSync_lock , PaddedMutex, nosafepoint, true);
271+
def(NonJavaThreadsList_lock , PaddedMutex, nosafepoint-1);
272+
def(NonJavaThreadsListSync_lock , PaddedMutex, nosafepoint);
273273

274-
def(RetData_lock , PaddedMutex , safepoint, false);
274+
def(RetData_lock , PaddedMutex , safepoint);
275275
def(Terminator_lock , PaddedMonitor, safepoint, true);
276-
def(InitCompleted_lock , PaddedMonitor, nosafepoint, true);
276+
def(InitCompleted_lock , PaddedMonitor, nosafepoint);
277277
def(Notify_lock , PaddedMonitor, safepoint, true);
278278
def(AdapterHandlerLibrary_lock , PaddedMutex , safepoint, true);
279279

280-
def(Heap_lock , PaddedMonitor, safepoint, false); // Doesn't safepoint check during termination.
280+
def(Heap_lock , PaddedMonitor, safepoint); // Doesn't safepoint check during termination.
281281
def(JfieldIdCreation_lock , PaddedMutex , safepoint, true); // jfieldID, Used in VM_Operation
282282

283-
def(CompiledIC_lock , PaddedMutex , nosafepoint, true); // locks VtableStubs_lock, InlineCacheBuffer_lock
284-
def(MethodCompileQueue_lock , PaddedMonitor, safepoint, false);
285-
def(CompileStatistics_lock , PaddedMutex , safepoint, false);
286-
def(DirectivesStack_lock , PaddedMutex , nosafepoint, true);
287-
def(MultiArray_lock , PaddedMutex , safepoint, false);
283+
def(CompiledIC_lock , PaddedMutex , nosafepoint); // locks VtableStubs_lock, InlineCacheBuffer_lock
284+
def(MethodCompileQueue_lock , PaddedMonitor, safepoint);
285+
def(CompileStatistics_lock , PaddedMutex , safepoint);
286+
def(DirectivesStack_lock , PaddedMutex , nosafepoint);
287+
def(MultiArray_lock , PaddedMutex , safepoint);
288288

289-
def(JvmtiThreadState_lock , PaddedMutex , safepoint, false); // Used by JvmtiThreadState/JvmtiEventController
290-
def(EscapeBarrier_lock , PaddedMonitor, nosafepoint, true); // Used to synchronize object reallocation/relocking triggered by JVMTI
291-
def(Management_lock , PaddedMutex , safepoint, false); // used for JVM management
289+
def(JvmtiThreadState_lock , PaddedMutex , safepoint); // Used by JvmtiThreadState/JvmtiEventController
290+
def(EscapeBarrier_lock , PaddedMonitor, nosafepoint); // Used to synchronize object reallocation/relocking triggered by JVMTI
291+
def(Management_lock , PaddedMutex , safepoint); // used for JVM management
292292

293293
def(ConcurrentGCBreakpoints_lock , PaddedMonitor, safepoint, true);
294-
def(MethodData_lock , PaddedMutex , safepoint, false);
295-
def(TouchedMethodLog_lock , PaddedMutex , safepoint, false);
294+
def(MethodData_lock , PaddedMutex , safepoint);
295+
def(TouchedMethodLog_lock , PaddedMutex , safepoint);
296296

297-
def(CompileThread_lock , PaddedMonitor, safepoint, false);
297+
def(CompileThread_lock , PaddedMonitor, safepoint);
298298
def(PeriodicTask_lock , PaddedMonitor, safepoint, true);
299299
def(RedefineClasses_lock , PaddedMonitor, safepoint, true);
300300
def(Verify_lock , PaddedMutex, safepoint, true);
301301

302302
if (WhiteBoxAPI) {
303-
def(Compilation_lock , PaddedMonitor, nosafepoint, true);
303+
def(Compilation_lock , PaddedMonitor, nosafepoint);
304304
}
305305

306306
#if INCLUDE_JFR
307-
def(JfrBuffer_lock , PaddedMutex , nosafepoint, true);
308-
def(JfrMsg_lock , PaddedMonitor, nosafepoint-3, true);
309-
def(JfrStacktrace_lock , PaddedMutex , stackwatermark-1, true);
310-
def(JfrThreadSampler_lock , PaddedMonitor, nosafepoint, true);
307+
def(JfrBuffer_lock , PaddedMutex , nosafepoint);
308+
def(JfrMsg_lock , PaddedMonitor, nosafepoint-3);
309+
def(JfrStacktrace_lock , PaddedMutex , stackwatermark-1);
310+
def(JfrThreadSampler_lock , PaddedMonitor, nosafepoint);
311311
#endif
312312

313313
#ifndef SUPPORTS_NATIVE_CX8
314-
def(UnsafeJlong_lock , PaddedMutex , nosafepoint, true);
314+
def(UnsafeJlong_lock , PaddedMutex , nosafepoint);
315315
#endif
316316

317-
def(CodeHeapStateAnalytics_lock , PaddedMutex , safepoint, false);
318-
def(NMethodSweeperStats_lock , PaddedMutex , nosafepoint, true);
319-
def(ThreadsSMRDelete_lock , PaddedMonitor, nosafepoint-3, true); // Holds ConcurrentHashTableResize_lock
320-
def(ThreadIdTableCreate_lock , PaddedMutex , safepoint, false);
321-
def(SharedDecoder_lock , PaddedMutex , tty-1, true);
322-
def(DCmdFactory_lock , PaddedMutex , nosafepoint, true);
317+
def(CodeHeapStateAnalytics_lock , PaddedMutex , safepoint);
318+
def(NMethodSweeperStats_lock , PaddedMutex , nosafepoint);
319+
def(ThreadsSMRDelete_lock , PaddedMonitor, nosafepoint-3); // Holds ConcurrentHashTableResize_lock
320+
def(ThreadIdTableCreate_lock , PaddedMutex , safepoint);
321+
def(SharedDecoder_lock , PaddedMutex , tty-1);
322+
def(DCmdFactory_lock , PaddedMutex , nosafepoint);
323323
#if INCLUDE_NMT
324-
def(NMTQuery_lock , PaddedMutex , safepoint, false);
324+
def(NMTQuery_lock , PaddedMutex , safepoint);
325325
#endif
326326
#if INCLUDE_CDS
327327
#if INCLUDE_JVMTI
328-
def(CDSClassFileStream_lock , PaddedMutex , safepoint, false);
328+
def(CDSClassFileStream_lock , PaddedMutex , safepoint);
329329
#endif
330-
def(DumpTimeTable_lock , PaddedMutex , nosafepoint, true);
331-
def(CDSLambda_lock , PaddedMutex , nosafepoint, true);
332-
def(DumpRegion_lock , PaddedMutex , nosafepoint, true);
333-
def(ClassListFile_lock , PaddedMutex , nosafepoint, true);
334-
def(LambdaFormInvokers_lock , PaddedMutex , safepoint, false);
330+
def(DumpTimeTable_lock , PaddedMutex , nosafepoint);
331+
def(CDSLambda_lock , PaddedMutex , nosafepoint);
332+
def(DumpRegion_lock , PaddedMutex , nosafepoint);
333+
def(ClassListFile_lock , PaddedMutex , nosafepoint);
334+
def(LambdaFormInvokers_lock , PaddedMutex , safepoint);
335335
#endif // INCLUDE_CDS
336-
def(Bootclasspath_lock , PaddedMutex , nosafepoint, true);
337-
def(Zip_lock , PaddedMonitor, nosafepoint-1, true); // Holds DumpTimeTable_lock
336+
def(Bootclasspath_lock , PaddedMutex , nosafepoint);
337+
def(Zip_lock , PaddedMonitor, nosafepoint-1); // Holds DumpTimeTable_lock
338338

339339
#if INCLUDE_JVMCI
340340
def(JVMCI_lock , PaddedMonitor, safepoint, true);
341341
#endif
342342

343343
// These locks have relative rankings, and inherit safepoint checking attributes from that rank.
344-
defl(InlineCacheBuffer_lock , PaddedMutex , CompiledIC_lock, true);
345-
defl(VtableStubs_lock , PaddedMutex , CompiledIC_lock, true); // Also holds DumpTimeTable_lock
346-
defl(CodeCache_lock , PaddedMonitor, VtableStubs_lock, true);
347-
defl(CompiledMethod_lock , PaddedMutex , CodeCache_lock, true);
348-
defl(CodeSweeper_lock , PaddedMonitor, CompiledMethod_lock, true);
344+
defl(InlineCacheBuffer_lock , PaddedMutex , CompiledIC_lock);
345+
defl(VtableStubs_lock , PaddedMutex , CompiledIC_lock); // Also holds DumpTimeTable_lock
346+
defl(CodeCache_lock , PaddedMonitor, VtableStubs_lock);
347+
defl(CompiledMethod_lock , PaddedMutex , CodeCache_lock);
348+
defl(CodeSweeper_lock , PaddedMonitor, CompiledMethod_lock);
349349

350350
defl(Threads_lock , PaddedMonitor, CompileThread_lock, true);
351-
defl(Heap_lock , PaddedMonitor, MultiArray_lock, false);
352-
defl(Compile_lock , PaddedMutex , MethodCompileQueue_lock, false);
351+
defl(Heap_lock , PaddedMonitor, MultiArray_lock);
352+
defl(Compile_lock , PaddedMutex , MethodCompileQueue_lock);
353353

354354
defl(PerfDataMemAlloc_lock , PaddedMutex , Heap_lock, true);
355355
defl(PerfDataManager_lock , PaddedMutex , Heap_lock, true);
356-
defl(ClassLoaderDataGraph_lock , PaddedMutex , MultiArray_lock, false);
356+
defl(ClassLoaderDataGraph_lock , PaddedMutex , MultiArray_lock);
357357
defl(VMOperation_lock , PaddedMonitor, Compile_lock, true);
358358
defl(ClassInitError_lock , PaddedMonitor, Threads_lock, true);
359359

@@ -363,7 +363,7 @@ void mutex_init() {
363363
defl(CompileTaskAlloc_lock , PaddedMutex , MethodCompileQueue_lock, true);
364364
defl(ExpandHeap_lock , PaddedMutex , Heap_lock, true);
365365
defl(OopMapCacheAlloc_lock , PaddedMutex , Threads_lock, true);
366-
defl(Module_lock , PaddedMutex , ClassLoaderDataGraph_lock, false);
366+
defl(Module_lock , PaddedMutex , ClassLoaderDataGraph_lock);
367367
defl(SystemDictionary_lock , PaddedMonitor, Module_lock, true);
368368
defl(JNICritical_lock , PaddedMonitor, MultiArray_lock, true); // used for JNI critical regions
369369
}

0 commit comments

Comments
 (0)