RFR: 8370039: GenShen: array copy SATB barrier improvements [v3]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Sat Nov 15 01:56:05 UTC 2025
On Tue, 11 Nov 2025 00:33:36 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> When an array copy happens concurrently with old and young marking, Shenandoah's generational mode walks over the array twice. This is unnecessary and increases the workload for marking threads. It also has been unconditionally enqueuing old references during a young mark. This is also unnecessary and also increases marking workload. Finally, the barrier went through a somewhat complicated decision process based on affiliation of the region where the array resides. However, the barrier must consider the affiliation of objects that are pointed at by array elements.
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
>
> Revert "We can also filter out old when striclty marking young"
>
> This reverts commit c53c4f23f4401785e1049494b6c4e4b92f9a5701.
Thank you for the clean up and corrections.
I am curious how you found this issue -- nice catch!
Any performance data to share, may be even from a microbenchmark perhaps or any other benchmark that exercises array copying -- may be something in DaCapo/Renaissance?
-------------
Marked as reviewed by ysr (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/28183#pullrequestreview-3467459541
More information about the hotspot-gc-dev
mailing list