Azul supplies a number of different high-performance Java compilers, including Zing and Zulu (there is an embedded version of the latter). Azul’s latest offering is an updated version of Zing, codenamed Falcon, that is based on LLVM. Prior versions were based on Azul’s own compiler technology.
LLVM is an open-source compiler backend project that is used by a number of compilers, including LLVM’s own C/C++ compiler, Clang. LLVM boasts a number of advantages, including contributors associated with hardware platforms, which allow LLVM to support the latest features found on this hardware (e.g., Intel’s vectorization support). Likewise, LLVM enjoys wide hardware support for the same reason.
LLVM has traditionally been used with conventional compilers that have a source code front end. Just-in-time (JIT) compilers tend to have different requirements. Getting LLVM to handle these needs was part of the contributions that Azul delivered to the LLVM project. Falcon takes advantage of these additions to implement this Java JIT compiler.
Comments