Go to file
Olya Gupalo 3bf288d174 [GR-59533] Test and refresh Include Reachability Metadata Native Image guides.
PullRequest: graal/19219
2024-11-07 21:27:43 +00:00
.devcontainer Simplify devcontainer config. 2022-06-16 13:22:31 +02:00
.github [GR-59651] Link the troubleshooting guide in the GitHub issue template. 2024-11-07 19:52:49 +00:00
ci [GR-59098] Use default devtools for WABT and bump to 1.0.36 2024-10-17 10:40:27 +02:00
ci_includes Add missing package dependencies of 'jdk.graal.compiler'. 2024-11-05 18:15:54 +01:00
compiler [GR-59638] Only run file-size benchmark when building libgraal 2024-11-07 15:50:29 +00:00
docs [GR-59533] Test and refresh Include Reachability Metadata Native Image guides. 2024-11-07 21:27:43 +00:00
espresso [GR-59538] Fix JDWP valid class loader check. 2024-11-05 19:42:49 +00:00
regex [GR-59497] TRegex: fix OracleDB flavor incorrectly parsing escaped surrogate pairs. 2024-11-05 09:12:42 +00:00
sdk De-emphasize type reachable in the ConfigurationCondition API 2024-11-04 13:43:15 +01:00
substratevm [GR-59526] Update labsjdk to 24+22-jvmci-b01 2024-11-07 09:01:09 +00:00
sulong [GR-58546] [GR-59428] [GR-59422] [GR-59440] Allow coverage collection for espresso. 2024-11-01 07:40:46 +00:00
tools add missing requiresConcealed entries for JVMCI packages 2024-10-10 12:44:33 +02:00
truffle [GR-53634] Handle static frame slots in BytecodeOSRMetadata#restoreParentFrame. 2024-11-06 22:03:08 +00:00
visualizer add missing requiresConcealed entries for JVMCI packages 2024-10-10 12:44:33 +02:00
vm [GR-59526] Update labsjdk to 24+22-jvmci-b01 2024-11-07 09:01:09 +00:00
wasm [GR-56702] mx now wants a version for every suite with maven artifacts 2024-10-30 13:44:30 +01:00
.clang-format Move mx clangformat command to sdk suite. 2022-10-04 12:23:54 +02:00
.gitattributes Add espresso changelog 2021-09-16 17:55:17 +02:00
.gitignore convert IGV to maven and netbeans 22 2024-09-09 20:16:34 -07:00
.mx_vcs_root Add .mx_vcs_root 2022-03-18 16:07:29 +01:00
CENSUS.md Update CENSUS.md 2024-10-07 11:57:19 +03:00
CONTRIBUTING.md Adding detailed contributing information and census. 2024-09-18 14:00:27 +02:00
LICENSE Harmonize different version of GPLv2+CPE 2020-02-18 14:21:35 +01:00
README.md Drop java-benchmarks listing from README 2024-05-23 18:59:13 +02:00
SECURITY.md Replace GraalVM Enterprise with Oracle GraalVM across documentation. 2023-03-16 09:52:36 +01:00
THIRD_PARTY_LICENSE.txt document the simdjson 3.6.4 adoption in THIRD_PARTY_LICENSE.txt 2024-05-07 21:39:06 +02:00
ci-branch-config.jsonnet ci: move galahad filtering to overlays 2024-02-15 12:04:14 +01:00
ci.jsonnet ci: add style component 2024-08-14 09:58:54 +02:00
common.json [GR-59526] Update labsjdk to 24+22-jvmci-b01 2024-11-07 09:01:09 +00:00
graal-common.json [GR-55132] Update overlay 2024-10-29 14:11:32 +01:00
pyproject.toml [GR-49632] Disable black formatter in repository 2023-11-10 14:50:48 +01:00

README.md

GraalVM

GraalVM downloads GraalVM docs GraalVM on Slack GraalVM on Twitter GraalVM on YouTube GraalVM Gate License

GraalVM is a high-performance JDK distribution that compiles your Java applications ahead of time into standalone binaries. These binaries 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.

Get Support

Repository Structure

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

Directory Description
.devcontainer/ Configuration files for GitHub dev containers.
.github/ Configuration files for GitHub issues, workflows, ….
compiler/ Graal compiler, a modern, versatile compiler written in Java.
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 GraalVM languages implemented with the instrumentation framework.
truffle/ GraalVM's 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.

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

Name Description
FastR Implementation of the R language.
GraalJS Implementation of JavaScript and Node.js.
GraalPy Implementation of the Python language.
GraalVM Demos Several example applications illustrating GraalVM capabilities.
Native Build Tools Build tool plugins for GraalVM Native Image.
SimpleLanguage A simple example language built with the Truffle framework.
SimpleTool A simple example tool built with the Truffle framework.
TruffleRuby Implementation of the Ruby language.

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 GPL 2
GraalVM Compiler, SubstrateVM, Tools, VM GPL 2 with Classpath Exception
GraalVM SDK, GraalWasm, Truffle Framework, TRegex Universal Permissive License
Sulong 3-clause BSD