Title
Bringing low-level languages to the JVM: efficient execution of LLVM IR on Truffle.
Abstract
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.
Year
DOI
Venue
2016
10.1145/2998415.2998416
VMIL@SPLASH
Field
DocType
Citations 
Dynamic compilation,Programming language,Computer science,Fortran,Compiler,Implementation,Low-level programming language,Java,Operating system,Executable
Conference
1
PageRank 
References 
Authors
0.35
17
5
Name
Order
Citations
PageRank
Manuel Rigger1265.86
Matthias Grimmer2636.19
Christian Wimmer3293.24
Thomas Würthinger439625.63
Hanspeter Mössenböck578188.17