Bringing Low-Level Languages to the JVM: Efficient Execution of LLVM IR on Truffle
Although the Java platform has been used as a multi-language platform, most of the low-level languages (such as C, Fortran, and C++) cannot be executed efficiently on the JVM. We propose Sulong, a system that can execute LLVM-based languages on the JVM. By targeting LLVM IR, Sulong is able to execute C, Fortran, and other languages that can be compiled to LLVM IR. Sulong combines LLVM’s static optimizations with dynamic compilation to reach a peak performance that is near to the performance achievable with static compilers. For C benchmarks, Sulong’s peak runtime performance is on average 1.39× slower (0.79× to 2.45×) compared to the performance of executables compiled by Clang O3. For Fortran benchmarks, Sulong is 2.63× slower (1.43× to 4.96×) than the performance of executables compiled by GCC O3. This low overhead makes Sulong an alternative to Java’s native function interfaces. More importantly, it also allows other JVM language implementations to use Sulong for implementing their native interfaces.
Mon 31 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:40 - 17:20 | |||
15:40 25mTalk | Bringing Low-Level Languages to the JVM: Efficient Execution of LLVM IR on Truffle VMIL Manuel Rigger Johannes Kepler University, Linz, Austria, Matthias Grimmer Johannes Kepler University Linz, Christian Wimmer Oracle Labs, Thomas Wuerthinger Oracle Labs, Hanspeter Mössenböck JKU Linz, Austria Pre-print | ||
16:05 25mTalk | Improving Trace-based JIT Optimisation using Whole-Program Information VMIL DOI Pre-print | ||
16:30 25mTalk | Rebuilding an Airliner In Flight: A Retrospective on Refactoring IBM Testarossa production compiler for Eclipse OMR VMIL | ||
16:55 25mDay closing | Discussions/Closing Remarks VMIL Tony Hosking Australian National University, Data61, and Purdue University |