RFR: 8328307: GenShen: Re-enable old-has-grown trigger for old-generation GC [v2]

Kelvin Nilsen kdnilsen at openjdk.org
Thu Mar 28 15:10:59 UTC 2024


On Mon, 18 Mar 2024 17:12:31 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Respond to reviewer feedback
>
> src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 3194:
> 
>> 3192:   _free_set->rebuild(young_cset_regions, old_cset_regions);
>> 3193: 
>> 3194:   if (mode()->is_generational()) {
> 
> In the spirit of moving generational mode things out of `ShenandoahHeap`, may I suggest factoring out two methods here for `ShenandoahOldGeneration`:
> * `trigger_collection_if_fragmented`
> * `trigger_collection_if_overgrown`
> 
> Or perhaps, make `ShenandoahHeap::rebuild_free_set` virtual and put all the generational code into an override in `ShenandoahGenerationalHeap`?

Done.  Testing now.

> test/hotspot/jtreg/gc/shenandoah/generational/TestOldGrowthTriggers.java line 42:
> 
>> 40: public class TestOldGrowthTriggers {
>> 41: 
>> 42:   public static void do_old_allocations() {
> 
> Nit, but Java convention is usually camel case: `doOldAllocations` or `makeOldAllocations` if the `oO` looks weird to you ;)

Thanks.  Fixed.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/409#discussion_r1543141957
PR Review Comment: https://git.openjdk.org/shenandoah/pull/409#discussion_r1543142203


More information about the shenandoah-dev mailing list