diff -r f519a9c26daf src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Thu May 14 14:36:45 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Fri May 15 15:04:16 2020 +0200 @@ -1830,19 +1830,21 @@ void ShenandoahHeap::op_weak_roots() { if (is_concurrent_weak_root_in_progress()) { { // Concurrent weak root processing - ShenandoahConcurrentWeakRootsEvacUpdateTask task(ShenandoahPhaseTimings::conc_weak_roots); + ShenandoahGCWorkerPhase worker_phase(ShenandoahPhaseTimings::conc_weak_roots_work); + ShenandoahConcurrentWeakRootsEvacUpdateTask task(ShenandoahPhaseTimings::conc_weak_roots_work); workers()->run_task(&task); if (!ShenandoahConcurrentRoots::should_do_concurrent_class_unloading()) { set_concurrent_weak_root_in_progress(false); } } - // perform handshake to flush out dead oops. + // Perform handshake to flush out dead oops { + ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_weak_roots_rendezvous); ShenandoahRendezvousClosure cl; Handshake::execute(&cl); } } } @@ -2872,12 +2874,10 @@ void ShenandoahHeap::entry_weak_roots() { static const char* msg = "Concurrent weak roots"; ShenandoahConcurrentPhase gc_phase(msg, ShenandoahPhaseTimings::conc_weak_roots); EventMark em("%s", msg); - ShenandoahGCWorkerPhase worker_phase(ShenandoahPhaseTimings::conc_weak_roots); - ShenandoahWorkerScope scope(workers(), ShenandoahWorkerPolicy::calc_workers_for_conc_root_processing(), "concurrent weak root"); try_inject_alloc_failure(); diff -r f519a9c26daf src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Thu May 14 14:36:45 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp Fri May 15 15:04:16 2020 +0200 @@ -105,11 +105,11 @@ case full_gc_purge_class_unload: case full_gc_purge_weak_par: case purge_class_unload: case purge_weak_par: case heap_iteration_roots: - case conc_weak_roots: + case conc_weak_roots_work: case conc_strong_roots: return true; default: return false; } diff -r f519a9c26daf src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Thu May 14 14:36:45 2020 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Fri May 15 15:04:16 2020 +0200 @@ -89,11 +89,13 @@ f(final_rebuild_freeset, " Rebuild Free Set") \ f(init_evac, " Initial Evacuation") \ SHENANDOAH_PAR_PHASE_DO(evac_, " E: ", f) \ \ f(conc_weak_roots, "Concurrent Weak Roots") \ - SHENANDOAH_PAR_PHASE_DO(conc_weak_roots_, " CWR: ", f) \ + f(conc_weak_roots_work, " Roots") \ + SHENANDOAH_PAR_PHASE_DO(conc_weak_roots_work_, " CWR: ", f) \ + f(conc_weak_roots_rendezvous, " Rendezvous") \ f(conc_cleanup_early, "Concurrent Cleanup") \ f(conc_class_unload, "Concurrent Class Unloading") \ f(conc_class_unload_unlink, " Unlink Stale") \ f(conc_class_unload_unlink_sd, " System Dictionary") \ f(conc_class_unload_unlink_weak_klass, " Weak Class Links") \