Sulong - Execution of LLVM-Based Languages on the JVM

Sulong - Execution of LLVM-Based Languages on the JVM

Manuel Rigger, Matthias Grimmer, Hanspeter Moessenboeck

20 May 2016

For the last decade, the Java Virtual Machine (JVM) has been a popular platform to host languages other than Java. Language implementation frameworks like Truffle allow the implementation of dynamic languages such as JavaScript or Ruby with competitive performance and completeness. However, statically typed languages are still rare under Truffle. We present Sulong, an LLVM IR interpreter that brings all LLVM-based languages including C, C++, and Fortran in one stroke to the JVM. Executing these languages on the JVM enables a wide area of future research, including high-performance interoperability between high-level and low-level languages, combination of static and dynamic optimizations, and a memory-safe execution of otherwise unsafe and unmanaged languages.


Venue : ICOOOLPS 2016