RFR: 8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive [v2]
Aleksey Shipilev
shade at openjdk.org
Mon Sep 11 21:50:07 UTC 2023
> See the investigation in the bug. Basically, with Loom we have to enable nmethod barriers to get the proper marking of nmethods/oops from stack chunks. See `ShenandoahMarkRefsSuperClosure::do_nmethod` callers and callees for more details. This IMO makes `ShenandoahNMethodBarrier` flag non-optional, as we have to enable nmethod barriers when Loom is enabled. The major part of PR deals with that.
>
> Additional testing:
> - [x] Original reproducer does not fail anymore
> - [x] MacOS AArch64 fastdebug, `hotspot_gc_shenandoah`
> - [x] Linux AArch64 fastdebug, `hotspot_gc_shenandoah`
> - [x] Linux x86_64 fastdebug, `hotspot_gc_shenandoah`
> - [ ] Linux AArch64 fastdebug, `tier1 tier2 tier3` with `-XX:+UseShenandoahGC`
> - [ ] Linux x86_64 fastdebug, `tier1 tier2 tier3` with `-XX:+UseShenandoahGC`
Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
Should arm the nmethods for thread root processing
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15669/files
- new: https://git.openjdk.org/jdk/pull/15669/files/8a753e9f..ca09b71f
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15669&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15669&range=00-01
Stats: 16 lines in 6 files changed: 5 ins; 0 del; 11 mod
Patch: https://git.openjdk.org/jdk/pull/15669.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15669/head:pull/15669
PR: https://git.openjdk.org/jdk/pull/15669
More information about the shenandoah-dev
mailing list