t2sde
t2sde copied to clipboard
Package GralVM
GraalVM is actually just a marketing name for a group of related programs (some of them have a confusing name themselves) together with their binary distribution (including a package manager), it doesn't refer to a piece of software in particular. These are:
- GraalVM compiler - a JIT compiler for OpenJDK written in Java. Requires OpenJDK with JVMCI (i.e. at least 11)
- Native Image - an AOT compiler for Java
- Substrate VM - runtime used by executables generated by Native Image
- Truffle - framework for implementing other programming languages than Java to run under GraalVM compiler
- various language implementations for Truffle from Oracle (GraalJS, FastR, GraalPython, TruffleRuby, Sulong) - the last of these runs LLVM IR
Adding them thus requires getting OpenJDK working first (currently we only have old binary JDK packages up to Java 1.6).
Having OpenJDK packaged it's now possible to build GraalVM on T2 manually, although the build system stands in the T2 way of doing things by ~downloading along with Java dependencies a pre-built JDK from Oracle~ (Edit: it apparently doesn't do that). ~Also the built jar files look different than those shipped with GraalVM binaries and I haven't figured out how to enable them within the T2 OpenJDK yet, so there's still work to do.~ (Edit: I was looking at the wrong jars)
For anyone interested see oracle/graal on GitHub and the build system at graalvm/mx that is used to build the GraalVM packages.
Commited revision 55247.
There's still some room for improvement (fix Sulong/Espresso build, package Native Image and Truffle languages), but the main parts (JDK with GraalVM compiler and Truffle) work.