GraalVM: Run Programs Faster Anywhere 🚀
Switch branches/tags
Clone or download
Latest commit 7b1e51b Nov 15, 2018
Failed to load latest commit information.
ci_includes [GR-11331] Add SVM Windows Threading and Locking Support. Sep 7, 2018
compiler [GR-7356] Add ProfileBooleanNode for MethodHandle profiling and castR… Nov 15, 2018
docs Sync 2018 publications list with the website Oct 23, 2018
examples Remove jdk9/jdk10 and add jdk11 based on snapshot Jun 29, 2018
regex TRegex: re-enable profiles for better compilation time Nov 14, 2018
sdk [GR-12246] Allow getting and setting CWD through Truffle API. Nov 8, 2018
substratevm [GR-7356] Add ProfileBooleanNode for MethodHandle profiling and castR… Nov 15, 2018
sulong [GR-12536] Use a helper method instead of caching the default value o… Nov 15, 2018
tools [GR-12308] A number of small corrections to handle multiple Engines. Nov 7, 2018
truffle [GR-12500] Fix initializeMultipleContexts was not called if options w… Nov 15, 2018
vm [GR-12227] Sulong: support for extra llvm arguments. Nov 15, 2018
.gitattributes Enable merge UNION for SDK and Truffle changelog. Aug 16, 2018
.gitignore Ignore generated *.config files for svm-driver.jar Nov 10, 2018
.travis.yml update to jvmci-0.51 Nov 14, 2018
3rd_party_licenses.txt Added ANTLR 4.7 sas being used by Truffle DSL. Jul 30, 2018 Add May 7, 2018
LICENSE Added Offer of source code May 29, 2018 [GR-12023] Text updates of Polyglot Context doc. Nov 6, 2018
ci.hocon sulong: add sulong vm benchmarks Nov 13, 2018
common.hocon [GR-12485] Update to jvmci-0.51. Nov 14, 2018


Join the chat at

GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++.

The project website at describes how to get started, how to stay connected, and how to contribute.

Repository Structure

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.

  • Sulong is an engine for running LLVM bitcode on GraalVM.

  • TRegex is an implementation of regular expressions which leverages GraalVM for efficient compilation of automata.

  • VM includes the components to build a modular GraalVM image.

Related Repositories

GraalVM allows running of following languages which are being developed and tested in related repositories with GraalVM core to run on top of it using Truffle and Graal compiler. These are:


Each GraalVM component is licensed: