RFR: 8293654: Improve SharedRuntime handling of continuation helper out-arguments

Aleksey Shipilev shade at openjdk.org
Mon Sep 12 17:15:22 UTC 2022


(Found this while adapting current mainline to x86_32 port)

After [JDK-8292584](https://bugs.openjdk.org/browse/JDK-8292584), we have `gen_continuation_yield()` that generates compiled entry, and implicitly uses the defaults for other ones (interpreter, exception). We should be more explicit about these, and verify the generators properly initialized all out-parameters.

I think we are only using interpreter/exception entry in `enterContinuation`, but not in `yield`. Notably, `exception_offset` should be `-1` for `nmethod::new_native_nmethod` to treat it as "no exception handlers". 

There a many ways to strengthen this, this PR is the one I like. I can do the symmetric change in aarch64, once we are agree on x86_64 version.

Additional testing:
 - [x] Linux x86_64 fastdebug, `hotspot_loom jdk_loom`
 - [ ] Linux x86_64 fastdebug, `tier1`

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

Commit messages:
 - Fix

Changes: https://git.openjdk.org/jdk/pull/10241/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10241&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293654
  Stats: 23 lines in 1 file changed: 15 ins; 7 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/10241.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10241/head:pull/10241

PR: https://git.openjdk.org/jdk/pull/10241


More information about the hotspot-compiler-dev mailing list