RFR (M) 8240671: Shenandoah: refactor ShenandoahPhaseTimings

Aleksey Shipilev shade at redhat.com
Fri Mar 6 12:01:59 UTC 2020


RFE:
  https://bugs.openjdk.java.net/browse/JDK-8240671

Webrev:
  https://cr.openjdk.java.net/~shade/8240671/webrev.01/

Tour of changes:

 *) SHENANDOAH_GC_PHASE_DO macro now uses the sub-macro root definition block that now guarantees
that we list the roots in the same order! Also makes the macro itself much shorter.

 *) ShenandoahWorkerTimings middle-man is eliminated by inlining straight into
ShenandoahPhaseTimings. This removes some redundant jumping around. Plus, eliminates it at every use
of ShenandoahWorkerTimingsTracker!

 *) ShenandoahGCPhase is now responsible for measuring the time, which simplifies _timing_data and
ShenandoahPhaseTimings interface.

 *) shenandoahTimingTracker.* are gone, ShenandoahWorkerTimingsTracker implementation moved to
shenandoahPhaseTimings.*, as it does not carry its own weight at this point.
shenandoahPhaseTimings.* would be renamed at some point in the future.

Testing: hotspot_gc_shenandoah {fastdebug,release}

-- 
Thanks,
-Aleksey




More information about the hotspot-gc-dev mailing list