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