Chapter 2: JIT, HotSpot, and GraalJIT
In the previous chapter, we learned about C1 and C2 compilers and the kind of code optimizations and de-optimizations that C2 compilers perform at runtime.
In this chapter, we will deep dive into the C2 just-in-time compilation and introduce Graal's just-in-time compilation. Just-In-Time (JIT) compilation is one of the key innovations that enabled Java to compete with traditional ahead-of-time (AOT) compilers. As we learned in the previous chapter, JIT compilation evolved with C2 compilers in JVM. The C2 JIT compiler constantly profiles code execution and applies various optimizations and de-optimizations at runtime to compile/recompile the code.
This chapter will be a hands-on session, where we will take a sample code and analyze how the C2 JIT compiler works and introduce Graal JIT.
In this chapter, we will cover the following topics:
- Understand how the JIT compiler works
- Learn how code is optimized by JIT by identifying...