< 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 >