RFR: 8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive [v2]
Roman Kennke
rkennke at openjdk.org
Tue Sep 12 10:34:43 UTC 2023
On Mon, 11 Sep 2023 21:50:07 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> 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`
>> - [x] Linux AArch64 fastdebug, `tier1 tier2 tier3` with `-XX:+UseShenandoahGC`
>> - [x] 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
Looks good to me. Thank you!
-------------
Marked as reviewed by rkennke (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15669#pullrequestreview-1621929358
More information about the shenandoah-dev
mailing list