back to home

oracle / graal

GraalVM compiles applications into native executables that start instantly, scale fast, and use fewer compute resources πŸš€

21,478 stars
1,773 forks
807 issues
JavaCPython

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing oracle/graal in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind-ai.vercel.app/repo/oracle/graal)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

GraalVM

GraalVM downloads GraalVM docs GraalVM on Slack GraalVM Gate License GraalVM on LinkedIn GraalVM on X GraalVM on Bluesky GraalVM on Medium GraalVM on YouTube

GraalVM compiles applications ahead of time into standalone binaries that start instantly, provide peak performance with no warmup, and use fewer resources. You can use GraalVM just like any other Java Development Kit in your IDE.

The project website at https://www.graalvm.org/ describes how to get started, how to stay connected, and how to contribute.

Documentation

Please refer to the GraalVM website for documentation. You can find most of the documentation sources in the docs/ directory in the same hierarchy as displayed on the website. Additional documentation including developer instructions for individual components can be found in corresponding docs/ sub-directories. The documentation for the Truffle framework, for example, is in truffle/docs/. This also applies to languages, tools, and other components maintained in related repositories. Instructions for building GraalVM from source are in vm/README.md.

Get Support

Repository Structure

This source repository is the main repository for GraalVM and includes the following components:

DirectoryDescription
.github/Configuration files for GitHub issues, workflows, ….
ci/Configuration files for internal CI/CD infrastructure.
ci_includes/Configuration include files for internal CI/CD infrastructure.
compiler/Graal compiler, a modern, versatile compiler written in Java.
espresso-compiler-stub/A dummy GraalJVMCICompiler implementation for Espresso.
espresso-shared/Espresso shared code for runtime class loading.
espresso/Espresso, a meta-circular Java bytecode interpreter for the GraalVM.
regex/TRegex, a regular expression engine for other GraalVM languages.
sdk/GraalVM SDK, long-term supported APIs of GraalVM.
substratevm/Framework for ahead-of-time (AOT) compilation with Native Image.
sulong/Sulong, an engine for running LLVM bitcode on GraalVM.
tools/Tools for Graal Languages implemented with the instrumentation framework.
truffle/Language implementation framework for creating languages and tools.
visualizer/Ideal Graph Visualizer (IGV), a tool for analyzing Graal compiler graphs.
vm/Components for building GraalVM distributions.
wasm/GraalWasm, an engine for running WebAssembly programs on GraalVM.
web-image/Web Image, an experimental WebAssembly backend for Native Image.

Related Repositories

GraalVM provides additional languages, tools, and other components developed in related repositories. These are:

NameDescription
GraalJSImplementation of JavaScript and Node.js.
GraalPyImplementation of the Python language.
graalvm-reachability-metadataReachability metadata for open-source libraries.
Native Build ToolsBuild tool plugins for GraalVM Native Image.
setup-graalvmGitHub Action for GraalVM.
SimpleLanguageA simple example language built with the Truffle framework.
SimpleToolA simple example tool built with the Truffle framework.

Examples and Tutorials

Explore practical examples, deep-dive workshops, and language-specific demos for working with GraalVM.

NameDescription
GraalVM DemosExample applications highlighting GraalVM key features and best practices.
GraalVM Workshops and TutorialsWorkshops and tutorials to help you learn and apply GraalVM tools and capabilities.
Graal Languages - Demos and GuidesDemo applications and guides for GraalJS, GraalPy, GraalWasm, and other Graal Languages.

License

GraalVM Community Edition is open source and distributed under version 2 of the GNU General Public License with the β€œClasspath” Exception, which are the same terms as for Java. The licenses of the individual GraalVM components are generally derivative of the license of a particular language (see the table below).

Component(s)License
Espresso, Ideal Graph Visualizer, Web ImageGPL 2
GraalVM Compiler, SubstrateVM, Tools, VMGPL 2 with Classpath Exception
GraalVM SDK, GraalWasm, Truffle Framework, TRegexUniversal Permissive License
Sulong3-clause BSD