RFR: 8292917: [JVMCI] Extend InstalledCode API to make an nmethod non entrant.

Doug Simon dnsimon at openjdk.org
Fri Aug 26 08:45:38 UTC 2022


The existing `InstalledCode.invalidate()` method not only makes the underlying nmethod non-entrant but also immediately deoptimizes all current activations of the nmethod.
In some scenarios, it's useful to be able to make the nmethod non-entrant but let existing activations complete. For example, which installing new code in Truffle tiered compilation.
This PR adds `InstalledCode.invalidate(boolean deoptimize)` for that purpose.

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

Commit messages:
 - added InstalledCode.invalidate(boolean) variant to support making nmethod non-entrant without deoptimizing current activations

Changes: https://git.openjdk.org/jdk/pull/10039/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10039&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8292917
  Stats: 52 lines in 8 files changed: 26 ins; 1 del; 25 mod
  Patch: https://git.openjdk.org/jdk/pull/10039.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10039/head:pull/10039

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


More information about the hotspot-compiler-dev mailing list