JIT Compiler


JEP 317 − Experimental Java-Based JIT Compiler

JIT compiler is written down in C++ and is made use to translate Java into Byte Code. Now Java 10 has a choice to authorize a trial Java-based JIT compiler, Graal to be used rather than a standard JIT compiler. Graal is making use of JVMCI, JVM Compiler Interface which was launched in Java 9. Graal is available in Java 9 also. With Java 10, we can authorize Graal to test and debug the experimental JVM compiler.


java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler

Graal compiler is a finished rewrite of C++-based prior compiler and is selected for Linux/x64 based platform. Graal was launched in Java 9 as a substitute for the JIT compiler currently in use. Graal is a plugin to JVM and can be compellingly plugged in. It supports polyglot language elucidation as well.

Risks and Assumptions

Graal is experimental and is subject to testing attempts considering different Hotspots and jdk tests with different flag options. It may fail a few benchmarks for performance in comparison to standard JIT downwards of Time compilers.