Graal Projecta quest for the JVM to leverage its own J
The aim of this project is to expose VM functionality via Java APIs. Namely, we want to make it feasible to write in Java a dynamic compiler and interpreter for a language runtime. These components will seamlessly integrate and leverage existing VM infrastructure (e.g., HotSpot).
The design of the dynamic compiler uses features of Java that make it highly extensible such that adding extra IR nodes and/or transformations is straightforward. At the same time, it should produce excellent code quality without compromising compile time and memory usage by the JVM.
Building on the compiler, we aim to develop a multi-language interpreter framework. Java will be just one member in the family of supported languages. The use of partial evaluation will allow the framework to deliver competitive performance.
This Project is sponsored by the HotSpot Group.