Starting with Oracle JDK 23, the Oracle GraalVM JIT compiler (Graal JIT) is now included among the JITs available as part of the Oracle JDK. This integration offers innovations previously made available via Oracle GraalVM, such as JIT code optimization techniques, to all Oracle JDK users. This provides developers and sysadmins with more options to help fine tune and improve peak performance of their applications.
The Graal JIT is the same technology that has been part of the commercial Oracle GraalVM Enterprise Edition and Oracle GraalVM for JDK for several years and is fully supported. Because the integration is new to the Oracle JDK, it is flagged as an experimental feature, but one that is still fully commercially supported. Commercial support can be obtained through the Java SE Universal Subscription, or through Oracle Cloud Infrastructure (OCI) when running the Oracle JDK on OCI.
The Graal JIT is enabled by passing the command line options to the Java executable:
-XX:+UnlockExperimentalVMOptions -XX:+UseGraalJIT
If you do not pass these flags at JVM startup the Oracle JDK default JIT (C2) will run as usual.
Performance benefits depend on the workload and which features are being used. There are many helpful Graal related blogs and Medium posts on the topic of Graal performance, for example Oracle NetSuite’s use of GraalVM.
The Oracle GraalVM for JDK 23 release remains available separately. It uses the Graal JIT by default and includes other GraalVM technology such as Native Image, Graal Language Runtimes (GraalJS, GraalPy, and GraalWasm), the Truffle language implementation framework, and related GraalVM tooling. Users interested in any part of GraalVM other than the Graal JIT should continue using the Oracle GraalVM for JDK downloads.
Please share your feedback! A key goal of this effort is to make it easy for users to try both JITs and report their experiences. This creates an opportunity not only for Oracle JDK users, but also an attractive on-ramp for GraalVM CE users to experiment with multiple JIT options in a single download. All users are encouraged to try the Graal JIT with their current workloads. Thanks to this announcement it is now easier because developers do not have to download, install, and configure a separate JDK for testing.
Please report all feedback of any kind including performance results or other inquiries on bugreport.java.com, and select the component “HotSpot” and “compiler#” as the subcomponent. Note that this site can be used to send feedback of any kind; it need not be bug related. Customers can also open a service request MyOracleSupport as usual, or contact Java Value Engineering at java-value-engineering_us@oracle.com not only to share their experiences but to engage for help with performance tuning and other uses of Graal technology.
