JVMCI 0.46 released
Doug Simon
doug.simon at oracle.com
Tue Jul 3 08:22:50 UTC 2018
For about the last half year, we've been working on changes to JVMCI, Graal and SVM to allow for Graal to be compiled into an SVM image and then used in HotSpot as a shared library[1]. We call this effort "libgraal". This improves a number of aspects when deploying Graal as a JIT in HotSpot:
* Faster startup.
* Fast compilation speed from startup (Graal is already compiled).
* Graal memory usage is disjoint from the HotSpot heap (SVM has its own heap and GC).
* Avoids Graal polluting profiles of JDK code.
To implement this, changes[2] were needed to JVMCI, mainly to avoid exposing raw Object values that now cross the HotSpot-SVM boundary. Making these changes backwards compatible would have resulted in very ugly API in parts. Combined with the fact that JVMCI is still an internal and experimental API, we opted to forego backwards compatibility. This means that as of Graal commit 9423a9eccc4[3], upstream/GitHub Graal will work with JVMCI JDK 8[4][5] and JDK 11-ea+20[6]; for JDK 9 and JDK 10 only the Graal version included in those JDKs will work. The compiler/README.md document has also been updated to note these new requirements.
-Doug
[1] https://bugs.openjdk.java.net/browse/JDK-8204853
[2] https://bugs.openjdk.java.net/browse/JDK-8204855
[3] https://github.com/oracle/graal/commit/9423a9eccc46a2e6cc4cfd76da81bec9837054e6
[4] https://github.com/graalvm/openjdk8-jvmci-builder/releases/tag/jvmci-0.46
[5] http://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html
[6] http://jdk.java.net/11/
More information about the hotspot-compiler-dev
mailing list