Sulong is a high-performance LLVM bitcode runtime built on the GraalVM by Oracle Labs.
Sulong is written in Java and uses the Truffle language implementation framework and Graal as a dynamic compiler.
With Sulong you can execute programming languages that can be transformed to LLVM bitcode on GraalVM. This includes languages like C/C++, Fortran, and others.
Sulong is part of GraalVM. If you are a user of GraalVM and want to run C/C++/... programs on GraalVM, we recommend downloading a pre-built binary of GraalVM.
See GraalVM LLVM Runtime and graalvm.org for documentation about using the GraalVM LLVM runtime.
If you are interested in the internals of Sulong, or want to contribute, there are those resources:
- Building Sulong from Source
- The GraalVM LLVM Toolchain
- Cross-Language Interoperability
- Debugging the GraalVM LLVM Runtime
- Publications
- Sulong test cases
- FAQ
Sulong is developed in a research collaboration with Johannes Kepler University, Linz.