Post

Java JIT

You may heard about Graal in Java community, but do not know how exactly it works. OK. I do not know either, and this post is about my learning about Java JIT compilers.

For a long time, Java has two JIT compilers: c1 and c2, which stand for client JIT compiler and server JIT compiler. Both were written in C++. There are many problems with this approach. For example, C++ segment fault will crashes the Java virtual machine. Then JEP 243 proposed that we should write JIT compilers in Java. That is JVMCI, i.e., JVM compiler interface. Graal complies with this interface.

The JVMCI interface is defined here.

This post is licensed under CC BY 4.0 by the author.