-
Bug
-
Resolution: Fixed
-
P2
-
25, 26
-
b12
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8366135 | 25.0.2 | Douglas Simon | P2 | Resolved | Fixed | master |
The primary goal of JDK-8356447 was to have initialization of the Graal JIT occur in the same phase as the rest of VM startup such that initialization problems are detected and reported prior to executing any user code.
This change caused a performance regression for Truffle when it is being used in a JDK build that includes both jargraal and libgraal. The problem is that Truffle needs to use (and thus initialize) jarjvmci but it does not need jargraal for compilation (libgraal is used). With EagerJVMCI now defaulting to true, it means that jargraal is unnecessarily initialized as part of initializing jarjvmci. The solution is to make EagerJVMCI only apply to the JVMCI runtime used by HotSpot's CompileBroker.
This change caused a performance regression for Truffle when it is being used in a JDK build that includes both jargraal and libgraal. The problem is that Truffle needs to use (and thus initialize) jarjvmci but it does not need jargraal for compilation (libgraal is used). With EagerJVMCI now defaulting to true, it means that jargraal is unnecessarily initialized as part of initializing jarjvmci. The solution is to make EagerJVMCI only apply to the JVMCI runtime used by HotSpot's CompileBroker.
- backported by
-
JDK-8366135 EagerJVMCI should only apply to the CompilerBroker JVMCI runtime
-
- Resolved
-
- caused by
-
JDK-8356447 Change default for EagerJVMCI to true
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk25u/5fc2f1b3
-
Commit(master) openjdk/jdk/e3aeebec
-
Review(master) openjdk/jdk25u/92
-
Review(master) openjdk/jdk/26768
(1 links to)