Chapter 3: GraalVM Architecture
In Chapter 1, Evolution of Java Virtual Machine, we took a detailed look at the JVM architecture. In Chapter 2, JIT, HotSpot, and GraalJIT, we went into more detail on how JVM JIT compilers work. We also looked at how JVM has evolved into an optimum HotSpot VM, with C1 and C2 JIT compilers.
While the C2 compiler is very sophisticated, it has become a very complex piece of code. GraalVM provides a Graal compiler, which builds on top of all the best practices from the C2 compiler, but it is built entirely from the ground up in Java. Hence, Graal JIT is more object-oriented, and has modern and manageable code, with the support of all of the modern integrated development environments, tools, and utilities to monitor, tune, and manage the code. GraalVM is much more than just the Graal JIT compiler. GraalVM brings in a larger ecosystem of tools, runtimes, and APIs to support multiple languages (Polyglot) to run on VMs, leveraging the most mature and hardened...