RFR: 8315247: GenShen: Condition calls to post-write barrier code generation by a flag [v2]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Tue Aug 29 19:58:46 UTC 2023
> Protect the card barrier code generation by a new global `ShenandoahCardBarrier`, which is disabled by default and enabled for GenShen (generational mode Shenandoah) only. If the user forces the barrier flag to a value inconsistent with mode, we exit with an appropriate error message.
>
> The changes have been made for x86, aarch, and ppc. I have tested on x86 on a cloud host running jtreg1-4 and SPECjbb. A round of aarch64 and x86 pipeline tests have run (but ran into existing assertion that William is fixing). Will request PPC testing from partners able to test. RISC-V & S390 don't currently support generational mode Shenandoah.
Y. Srinivas Ramakrishna 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 eight additional commits since the last revision:
- Elaborate ShenandoahCardBarrier documentation a bit.
- Merge branch 'master' into card_barrier
- Check and exit if user specifies a setting of ShenandoahCardBarrier that
conflicts with ShenandoahGCMode.
- check that ShenandoahCardBarrier is off by default for most
configurations. Exit with an error message if the user tries to change
it.
- Changes from prelim review by William & Kelvin.
- Take care of some ppc changes
- Merge branch 'master' into card_barrier
- First cut of changes, checking in for testing:
test at caller of post-write-barrier for ShenandoahCardBarrier, and
assert in post-barrier/generation code that we are in generational mode.
-------------
Changes:
- all: https://git.openjdk.org/shenandoah/pull/313/files
- new: https://git.openjdk.org/shenandoah/pull/313/files/71bd4973..8fb05b2c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=shenandoah&pr=313&range=01
- incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=313&range=00-01
Stats: 81 lines in 12 files changed: 41 ins; 8 del; 32 mod
Patch: https://git.openjdk.org/shenandoah/pull/313.diff
Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/313/head:pull/313
PR: https://git.openjdk.org/shenandoah/pull/313
More information about the shenandoah-dev
mailing list