RFR: 8332548: GenShen: Factor generational mode out of gc helpers

William Kemper wkemper at openjdk.org
Tue May 21 21:11:33 UTC 2024


On Tue, 21 May 2024 17:21:13 GMT, Y. Srinivas Ramakrishna <ysr at openjdk.org> wrote:

>> src/hotspot/share/gc/shenandoah/shenandoahDegeneratedGC.cpp line 286:
>> 
>>> 284: 
>>> 285:       if (heap->mode()->is_generational()) {
>>> 286:         ShenandoahGenerationalHeap::heap()->complete_degenerated_cycle();
>> 
>> Not a change that you made, but I wondered about the semantics of "complete" in the name "op_cleanup_complete". It appears to use a phase timer around its work. Was the idea to include the "complete_degenerated_cycle" work inside that phase for timers associated with whatever `ShenandoahPhaseTimings::degen_gc_cleanup_complete` wanted to track, or is it good as is to exclude that generational work which may be is separately tracked?
>
> (fwiw, I didn't see any obvious phase timers around the work in the generational `complete_degenerated_cycle`. Should there be any?)

We have a phase timer for coalesce and fill:

    ShenandoahGCPhase phase(ShenandoahPhaseTimings::degen_gc_coalesce_and_fill);

We could introduce a timer around this extracted method, but I expect coalesce and fill will be the long pole.

-------------

PR Review Comment: https://git.openjdk.org/shenandoah/pull/436#discussion_r1608953899


More information about the shenandoah-dev mailing list