RFR (M) 8240671: Shenandoah: refactor ShenandoahPhaseTimings

Roman Kennke rkennke at redhat.com
Fri Mar 6 12:48:02 UTC 2020


Very good! That should make that code less error-prone and more
consistent. Change looks good!

Thank you, Roman

On 3/6/20 1:01 PM, Aleksey Shipilev wrote:
> 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}
> 



More information about the shenandoah-dev mailing list