RFR: 8359064: Expose reason for marking nmethod non-entrant to JVMCI client

Cesar Soares Lucas cslucas at openjdk.org
Tue Jun 10 00:03:51 UTC 2025


We recently introduced a way to set the reason why a nmethod was being marked as `not entrant`, see [here](https://github.com/openjdk/jdk/pull/23980) and [here](https://github.com/openjdk/jdk/pull/25338).

This PR is to expose in the JVMCI interface the reason why the nmethod was flagged as `not entrant`. This will allow JVMCI-based compilers to implement heuristics to handle re-compilations differently based on what happened to earlier versions of a method, for instance, this will likely be used to address this [RFE in Truffle](https://github.com/oracle/graal/issues/11045
). 

Tested on Linux x86_64, ARM with JTREG tier 1-3.

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

Commit messages:
 - Set reason why InstalledCode was changed/installed/changed.

Changes: https://git.openjdk.org/jdk/pull/25706/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25706&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8359064
  Stats: 143 lines in 18 files changed: 121 ins; 0 del; 22 mod
  Patch: https://git.openjdk.org/jdk/pull/25706.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25706/head:pull/25706

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


More information about the graal-dev mailing list