Skip to content

Commit c2b462c

Browse files
committed
8236851: Shenandoah: More details in Traversal GC event messages
Reviewed-by: shade
1 parent 4f35b4a commit c2b462c

File tree

2 files changed

+51
-3
lines changed

2 files changed

+51
-3
lines changed

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

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2805,7 +2805,7 @@ void ShenandoahHeap::entry_init_traversal() {
28052805
ShenandoahGCPhase total_phase(ShenandoahPhaseTimings::total_pause);
28062806
ShenandoahGCPhase phase(ShenandoahPhaseTimings::init_traversal_gc);
28072807

2808-
static const char* msg = "Pause Init Traversal";
2808+
static const char* msg = init_traversal_event_message();
28092809
GCTraceTime(Info, gc) time(msg, gc_timer());
28102810
EventMark em("%s", msg);
28112811

@@ -2820,7 +2820,7 @@ void ShenandoahHeap::entry_final_traversal() {
28202820
ShenandoahGCPhase total_phase(ShenandoahPhaseTimings::total_pause);
28212821
ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_traversal_gc);
28222822

2823-
static const char* msg = "Pause Final Traversal";
2823+
static const char* msg = final_traversal_event_message();
28242824
GCTraceTime(Info, gc) time(msg, gc_timer());
28252825
EventMark em("%s", msg);
28262826

@@ -2972,7 +2972,7 @@ void ShenandoahHeap::entry_preclean() {
29722972
}
29732973

29742974
void ShenandoahHeap::entry_traversal() {
2975-
static const char* msg = "Concurrent traversal";
2975+
static const char* msg = conc_traversal_event_message();
29762976
GCTraceTime(Info, gc) time(msg, NULL, GCCause::_no_gc, true);
29772977
EventMark em("%s", msg);
29782978

@@ -3141,6 +3141,51 @@ const char* ShenandoahHeap::conc_mark_event_message() const {
31413141
}
31423142
}
31433143

3144+
const char* ShenandoahHeap::init_traversal_event_message() const {
3145+
bool proc_refs = process_references();
3146+
bool unload_cls = unload_classes();
3147+
3148+
if (proc_refs && unload_cls) {
3149+
return "Pause Init Traversal (process weakrefs) (unload classes)";
3150+
} else if (proc_refs) {
3151+
return "Pause Init Traversal (process weakrefs)";
3152+
} else if (unload_cls) {
3153+
return "Pause Init Traversal (unload classes)";
3154+
} else {
3155+
return "Pause Init Traversal";
3156+
}
3157+
}
3158+
3159+
const char* ShenandoahHeap::final_traversal_event_message() const {
3160+
bool proc_refs = process_references();
3161+
bool unload_cls = unload_classes();
3162+
3163+
if (proc_refs && unload_cls) {
3164+
return "Pause Final Traversal (process weakrefs) (unload classes)";
3165+
} else if (proc_refs) {
3166+
return "Pause Final Traversal (process weakrefs)";
3167+
} else if (unload_cls) {
3168+
return "Pause Final Traversal (unload classes)";
3169+
} else {
3170+
return "Pause Final Traversal";
3171+
}
3172+
}
3173+
3174+
const char* ShenandoahHeap::conc_traversal_event_message() const {
3175+
bool proc_refs = process_references();
3176+
bool unload_cls = unload_classes();
3177+
3178+
if (proc_refs && unload_cls) {
3179+
return "Concurrent Traversal (process weakrefs) (unload classes)";
3180+
} else if (proc_refs) {
3181+
return "Concurrent Traversal (process weakrefs)";
3182+
} else if (unload_cls) {
3183+
return "Concurrent Traversal (unload classes)";
3184+
} else {
3185+
return "Concurrent Traversal";
3186+
}
3187+
}
3188+
31443189
const char* ShenandoahHeap::degen_event_message(ShenandoahDegenPoint point) const {
31453190
switch (point) {
31463191
case _degenerated_unset:

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,9 @@ class ShenandoahHeap : public CollectedHeap {
438438
const char* init_mark_event_message() const;
439439
const char* final_mark_event_message() const;
440440
const char* conc_mark_event_message() const;
441+
const char* init_traversal_event_message() const;
442+
const char* final_traversal_event_message() const;
443+
const char* conc_traversal_event_message() const;
441444
const char* degen_event_message(ShenandoahDegenPoint point) const;
442445

443446
// ---------- GC subsystems

0 commit comments

Comments
 (0)