diff --git a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp index d4c7ad5df50..111e0073470 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp @@ -1187,6 +1187,7 @@ void ShenandoahConcurrentGC::op_final_update_refs() { // We are not concerned about skipping this step in abbreviated cycles because regions // with no live objects cannot have been written to and so cannot have entries in the SATB // buffers. + ShenandoahGCPhase phase(ShenandoahPhaseTimings::final_update_refs_transfer_satb); heap->old_generation()->transfer_pointers_from_satb(); // Aging_cycle is only relevant during evacuation cycle for individual objects and during final mark for diff --git a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp index f4c49000e6e..e890008b916 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp @@ -126,6 +126,7 @@ class outputStream; f(final_update_refs, "Pause Final Update Refs (N)") \ f(final_update_refs_verify, " Verify") \ f(final_update_refs_update_region_states, " Update Region States") \ + f(final_update_refs_transfer_satb, " Transfer Old From SATB") \ f(final_update_refs_trash_cset, " Trash Collection Set") \ f(final_update_refs_rebuild_freeset, " Rebuild Free Set") \ f(final_update_refs_propagate_gc_state, " Propagate GC State") \