Project Galahad: Bringing GraalVM Technologies to Java’s OpenJDK
Plans are underway to synchronize the development efforts between standard Java and GraalVM, an advanced JDK (Java Development Kit) developed by Oracle known for its high performance and polyglot capabilities.
Project Galahad, an initiative proposed under the OpenJDK umbrella by Oracle, aims to integrate GraalVM’s innovative JIT (just-in-time) compiler technology into the mainline release of Java. This move seeks to offer an alternative to the existing JIT compiler within Java’s HotSpot VM, potentially enhancing performance and optimizing execution profiles. The initial focus of Project Galahad will be on incorporating the latest advancements from GraalVM’s JIT compiler.
Oracle’s decision to contribute GraalVM Community Edition code to the OpenJDK community marks a significant step toward aligning the development of Graal technologies with the core Java development process. This collaboration aims to streamline workflows, synchronize feature releases, and ensure compatibility across platforms.
GraalVM itself is designed not only as a JDK for Java but also supports multiple JVM languages like JavaScript, Python, and others. It enables the seamless integration of different languages within a single application, leveraging its Native Image support for ahead-of-time (AOT) compilation. This capability allows Java code to be compiled into native standalone executables or shared libraries, enhancing performance and startup times.
Project Galahad will integrate GraalVM’s AOT compilation technology into Java, ensuring that the new JIT compiler can be readily available upon JVM start. This integration aims to minimize application heap usage and improve execution profiling, thereby optimizing overall application performance.
While Project Galahad focuses on enhancing Java’s JIT and AOT capabilities, it does not involve merging GraalVM’s bytecode-to-machine code compiler with Java’s javac source-to-bytecode compiler. Instead, it will contribute GraalVM’s Native Image technology as a general-purpose AOT solution for Java applications.
The initiative will closely follow Project Leyden, another effort aimed at reducing Java startup times, and will adapt its specifications as they evolve. Project Galahad plans to initiate its integration process with a clone of the current JDK mainline release and will continue to track subsequent mainline releases. This incremental approach will involve merging Java-related GraalVM technologies into the JDK, potentially using side repositories for experimental features.
Project Galahad is expected to unfold over several Java enhancement proposals spanning multiple feature releases, ensuring a methodical and stable integration of GraalVM’s advanced technologies into the Java ecosystem. This collaboration promises to bring significant performance improvements and enhanced developer productivity to the Java community.