-
Bug
-
Resolution: Fixed
-
P4
-
20
-
b18
The ability to make an nmethod non-entrant via an InstalledCode object was added by JDK-8292917. However, the implementation also clears the InstalledCode.address field. This severs the connection between an InstalledCode object an its nmethod. This makes it impossible for users of the InstalledCode object to do things like subsequently deoptimize the nmethod which may be necessary if assumptions used when compiling the nmethod are invalidated (a common case in Truffle).
The fix is to only clear the InstalledCode.address field when calling InstalledCode.invalidate(true).
The fix is to only clear the InstalledCode.address field when calling InstalledCode.invalidate(true).
- duplicates
-
JDK-8163894 compiler/jvmci/compilerToVM/InvalidateInstalledCodeTest should be updated to match latest jvmci api
-
- Closed
-
- relates to
-
JDK-8292917 [JVMCI] Extend InstalledCode API to make an nmethod non entrant.
-
- Resolved
-