< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp

Print this page
rev 57580 : 8236851: Shenandoah: More details in Traversal GC event messages

*** 2688,2698 **** void ShenandoahHeap::entry_init_traversal() { ShenandoahGCPhase total_phase(ShenandoahPhaseTimings::total_pause); ShenandoahGCPhase phase(ShenandoahPhaseTimings::init_traversal_gc); ! static const char* msg = "Pause Init Traversal"; GCTraceTime(Info, gc) time(msg, gc_timer()); EventMark em("%s", msg); ShenandoahWorkerScope scope(workers(), ShenandoahWorkerPolicy::calc_workers_for_stw_traversal(), --- 2688,2698 ---- void ShenandoahHeap::entry_init_traversal() { ShenandoahGCPhase total_phase(ShenandoahPhaseTimings::total_pause); ShenandoahGCPhase phase(ShenandoahPhaseTimings::init_traversal_gc); ! static const char* msg = init_traversal_event_message(); GCTraceTime(Info, gc) time(msg, gc_timer()); EventMark em("%s", msg); ShenandoahWorkerScope scope(workers(), ShenandoahWorkerPolicy::calc_workers_for_stw_traversal(),
*** 2703,2713 **** void ShenandoahHeap::entry_final_traversal() { ShenandoahGCPhase total_phase(ShenandoahPhaseTimings::total_pause); ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_traversal_gc); ! static const char* msg = "Pause Final Traversal"; GCTraceTime(Info, gc) time(msg, gc_timer()); EventMark em("%s", msg); ShenandoahWorkerScope scope(workers(), ShenandoahWorkerPolicy::calc_workers_for_stw_traversal(), --- 2703,2713 ---- void ShenandoahHeap::entry_final_traversal() { ShenandoahGCPhase total_phase(ShenandoahPhaseTimings::total_pause); ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_traversal_gc); ! static const char* msg = final_traversal_event_message(); GCTraceTime(Info, gc) time(msg, gc_timer()); EventMark em("%s", msg); ShenandoahWorkerScope scope(workers(), ShenandoahWorkerPolicy::calc_workers_for_stw_traversal(),
*** 2855,2865 **** op_preclean(); } } void ShenandoahHeap::entry_traversal() { ! static const char* msg = "Concurrent traversal"; GCTraceTime(Info, gc) time(msg, NULL, GCCause::_no_gc, true); EventMark em("%s", msg); TraceCollectorStats tcs(monitoring_support()->concurrent_collection_counters()); --- 2855,2865 ---- op_preclean(); } } void ShenandoahHeap::entry_traversal() { ! static const char* msg = conc_traversal_event_message(); GCTraceTime(Info, gc) time(msg, NULL, GCCause::_no_gc, true); EventMark em("%s", msg); TraceCollectorStats tcs(monitoring_support()->concurrent_collection_counters());
*** 3024,3033 **** --- 3024,3078 ---- } else { return "Concurrent marking"; } } + const char* ShenandoahHeap::init_traversal_event_message() const { + bool proc_refs = process_references(); + bool unload_cls = unload_classes(); + + if (proc_refs && unload_cls) { + return "Pause Init Traversal (process weakrefs) (unload classes)"; + } else if (proc_refs) { + return "Pause Init Traversal (process weakrefs)"; + } else if (unload_cls) { + return "Pause Init Traversal (unload classes)"; + } else { + return "Pause Init Traversal"; + } + } + + const char* ShenandoahHeap::final_traversal_event_message() const { + bool proc_refs = process_references(); + bool unload_cls = unload_classes(); + + if (proc_refs && unload_cls) { + return "Pause Final Traversal (process weakrefs) (unload classes)"; + } else if (proc_refs) { + return "Pause Final Traversal (process weakrefs)"; + } else if (unload_cls) { + return "Pause Final Traversal (unload classes)"; + } else { + return "Pause Final Traversal"; + } + } + + const char* ShenandoahHeap::conc_traversal_event_message() const { + bool proc_refs = process_references(); + bool unload_cls = unload_classes(); + + if (proc_refs && unload_cls) { + return "Concurrent Traversal (process weakrefs) (unload classes)"; + } else if (proc_refs) { + return "Concurrent Traversal (process weakrefs)"; + } else if (unload_cls) { + return "Concurrent Traversal (unload classes)"; + } else { + return "Concurrent Traversal"; + } + } + const char* ShenandoahHeap::degen_event_message(ShenandoahDegenPoint point) const { switch (point) { case _degenerated_unset: return "Pause Degenerated GC (<UNSET>)"; case _degenerated_traversal:
< prev index next >