RFR: 8329790: GenShen: Old regions that are pinned during final mark are not made parseable [v2]
William Kemper
wkemper at openjdk.org
Mon Apr 15 16:18:00 UTC 2024
On Sat, 6 Apr 2024 00:33:38 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>>
>> - Merge remote-tracking branch 'shenandoah/master' into coalesce-old-pinned-regions
>> - Use is_regular_pinned to restore candidate selection logic to its previous form
>> - Introduce 'regular pinned' state
>> - Merge remote-tracking branch 'shenandoah/master' into coalesce-old-pinned-regions
>> - Allow pinned/regular regions into mixed collection candidates
>> - Little clean up
>
> src/hotspot/share/gc/shenandoah/heuristics/shenandoahOldHeuristics.cpp line 332:
>
>> 330: immediate_garbage += garbage;
>> 331: } else if (region->is_humongous_start()) {
>> 332: // This will handle humongous start regions whether they are also pinned, or not.
>
> Since we've already handled region->is_trash() above, do we need this code? If we want to preserve the assert(!is_pinned), we can insert that into the is_trash() code above. Right?
I didn't change the implementation of `is_humongous_start`, so it still includes pinned humongous objects.
-------------
PR Review Comment: https://git.openjdk.org/shenandoah/pull/420#discussion_r1566048445
More information about the shenandoah-dev
mailing list