RFR: 8370039: GenShen: array copy SATB barrier improvements
William Kemper
wkemper at openjdk.org
Thu Nov 6 21:00:34 UTC 2025
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.
-------------
Commit messages:
- More simplification of arraycopy mark barrier
- Merge remote-tracking branch 'jdk/master' into satb-fixes
- Merge remote-tracking branch 'jdk/master' into satb-fixes
- Why does this break?
- Simplify arraycopy barrier case for marking
- Merge remote-tracking branch 'jdk/master' into satb-fixes
- Do not unconditionally enqueue old objects during marking
Changes: https://git.openjdk.org/jdk/pull/28183/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28183&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8370039
Stats: 53 lines in 2 files changed: 0 ins; 46 del; 7 mod
Patch: https://git.openjdk.org/jdk/pull/28183.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28183/head:pull/28183
PR: https://git.openjdk.org/jdk/pull/28183
More information about the hotspot-gc-dev
mailing list