RFR: 8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive [v2]

Zhengyu Gu zgu at openjdk.org
Tue Sep 12 19:59:40 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

Make senses. LGTM

-------------

Marked as reviewed by zgu (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15669#pullrequestreview-1623020296


More information about the shenandoah-dev mailing list