/graal

GraalVM: Run Programs Faster Anywhere :rocket:

Primary LanguageJavaOtherNOASSERTION

GraalVM

Join the chat at https://gitter.im/graalvm/home

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 https://www.graalvm.org 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:

License

Each GraalVM component is licensed: