RFR (XS) 8245755: Shenandoah: missing logging for CWR Roots
Aleksey Shipilev
shade at redhat.com
Mon May 25 19:16:00 UTC 2020
Bug:
https://bugs.openjdk.java.net/browse/JDK-8245755
JDK-8244953 introduced the Roots/Rendezvous split in CWR logging. Yet, there is no "Roots" counter
in the gc+stats, because there is nothing that tracks it.
Fix:
diff -r 403587ab7d6e src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Mon May 25 21:02:37 2020 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp Mon May 25 21:14:26 2020 +0200
@@ -1852,12 +1852,13 @@
}
};
void ShenandoahHeap::op_weak_roots() {
if (is_concurrent_weak_root_in_progress()) {
{
+ ShenandoahTimingsTracker t(ShenandoahPhaseTimings::conc_weak_roots_work);
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);
Testing: hotspot_gc_shenandoah, eyeballing gc+stats
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list