328 f(conc_evac, "Concurrent Evacuation") \
329 f(conc_update_refs, "Concurrent Update Refs") \
330 f(conc_cleanup, "Concurrent Cleanup") \
331 f(conc_traversal, "Concurrent Traversal") \
332 f(conc_traversal_termination, " Termination") \
333 \
334 f(conc_uncommit, "Concurrent Uncommit") \
335 \
336 /* Unclassified */ \
337 f(pause_other, "Pause Other") \
338 f(conc_other, "Concurrent Other") \
339 // end
340
341 #define SHENANDOAH_GC_PAR_PHASE_DO(f) \
342 f(ThreadRoots, "Thread Roots (ms):") \
343 f(CodeCacheRoots, "CodeCache Roots (ms):") \
344 f(UniverseRoots, "Universe Roots (ms):") \
345 f(JNIRoots, "JNI Handles Roots (ms):") \
346 f(JVMTIWeakRoots, "JVMTI Weak Roots (ms):") \
347 f(JFRWeakRoots, "JFR Weak Roots (ms):") \
348 f(JNIWeakRoots, "JNI Weak Roots (ms):") \
349 f(StringTableRoots, "StringTable Roots(ms):") \
350 f(ResolvedMethodTableRoots, "Resolved Table Roots(ms):") \
351 f(VMGlobalRoots, "VM Global Roots(ms)") \
352 f(VMWeakRoots, "VM Weak Roots(ms)") \
353 f(ObjectSynchronizerRoots, "ObjectSynchronizer Roots (ms):") \
354 f(ManagementRoots, "Management Roots (ms):") \
355 f(SystemDictionaryRoots, "SystemDictionary Roots (ms):") \
356 f(CLDGRoots, "CLDG Roots (ms):") \
357 f(JVMTIRoots, "JVMTI Roots (ms):") \
358 f(StringDedupTableRoots, "String Dedup Table Roots (ms):") \
359 f(StringDedupQueueRoots, "String Dedup Queue Roots (ms):") \
360 f(FinishQueues, "Finish Queues (ms):") \
361 // end
362
363 class ShenandoahPhaseTimings : public CHeapObj<mtGC> {
364 public:
365 #define GC_PHASE_DECLARE_ENUM(type, title) type,
366
367 enum Phase {
|
328 f(conc_evac, "Concurrent Evacuation") \
329 f(conc_update_refs, "Concurrent Update Refs") \
330 f(conc_cleanup, "Concurrent Cleanup") \
331 f(conc_traversal, "Concurrent Traversal") \
332 f(conc_traversal_termination, " Termination") \
333 \
334 f(conc_uncommit, "Concurrent Uncommit") \
335 \
336 /* Unclassified */ \
337 f(pause_other, "Pause Other") \
338 f(conc_other, "Concurrent Other") \
339 // end
340
341 #define SHENANDOAH_GC_PAR_PHASE_DO(f) \
342 f(ThreadRoots, "Thread Roots (ms):") \
343 f(CodeCacheRoots, "CodeCache Roots (ms):") \
344 f(UniverseRoots, "Universe Roots (ms):") \
345 f(JNIRoots, "JNI Handles Roots (ms):") \
346 f(JVMTIWeakRoots, "JVMTI Weak Roots (ms):") \
347 f(JFRWeakRoots, "JFR Weak Roots (ms):") \
348 f(TSANWeakRoots, "TSAN Weak Roots (ms):") \
349 f(JNIWeakRoots, "JNI Weak Roots (ms):") \
350 f(StringTableRoots, "StringTable Roots(ms):") \
351 f(ResolvedMethodTableRoots, "Resolved Table Roots(ms):") \
352 f(VMGlobalRoots, "VM Global Roots(ms)") \
353 f(VMWeakRoots, "VM Weak Roots(ms)") \
354 f(ObjectSynchronizerRoots, "ObjectSynchronizer Roots (ms):") \
355 f(ManagementRoots, "Management Roots (ms):") \
356 f(SystemDictionaryRoots, "SystemDictionary Roots (ms):") \
357 f(CLDGRoots, "CLDG Roots (ms):") \
358 f(JVMTIRoots, "JVMTI Roots (ms):") \
359 f(StringDedupTableRoots, "String Dedup Table Roots (ms):") \
360 f(StringDedupQueueRoots, "String Dedup Queue Roots (ms):") \
361 f(FinishQueues, "Finish Queues (ms):") \
362 // end
363
364 class ShenandoahPhaseTimings : public CHeapObj<mtGC> {
365 public:
366 #define GC_PHASE_DECLARE_ENUM(type, title) type,
367
368 enum Phase {
|