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