The GraalVM main source repository includes the following components:
Graal SDK contains long term supported APIs of GraalVM.
Graal compiler written in Java that supports both dynamic and static compilation and can integrate with the Java HotSpot VM or run standalone.
Truffle language implementation framework for creating languages and instrumentations for GraalVM.
Tools contains a set of tools for GraalVM languages implemented with the instrumentation framework.
Substrate VM framework that allows ahead-of-time (AOT) compilation of Java applications under closed-world assumption into executable images or shared objects.
TRegex is an implementation of regular expressions which leverages GraalVM for efficient compilation of automata.
Each GraalVM component is licensed:
- Truffle and its dependency Graal SDK are licensed under the GPL 2 with Classpath exception.
- Tools project is licensed under the GPL 2 with Classpath exception.
- TRegex project is licensed under the GPL 2 with Classpath exception.
- The Graal compiler is licensed under the GPL 2.
- Substrate VM is licensed under the GPL 2.