- Notifications
You must be signed in to change notification settings - Fork4
GraalVM: Run Programs Faster Anywhere 🚀
License
Shopify/graal
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
GraalVM is a high-performance JDK distribution designed to accelerate the execution of applications written in Java and other JVM languages along with support for JavaScript, Ruby, Python, and a number of other popular languages.
The project website athttps://www.graalvm.org/ describes how toget started, how tostay connected, and how tocontribute.
Please refer to theGraalVM website for documentation. You can find most of the documentation sources in thedocs/ directory in the same hierarchy as displayed on the website. Additional documentation including developer instructions for individual components can be found in correspondingdocs/ sub-directories. The documentation for the Truffle framework, for example, is intruffle/docs/. This also applies to languages, tools, and other components maintained inrelated repositories.
- Open aGitHub issue for bug reports, questions, or requests for enhancements.
- Join theGraalVM Slack to connect with the community and the GraalVM team.
- Report a security vulnerability according to theReporting Vulnerabilities guide.
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. |
java-benchmarks/ | Java benchmarks. |
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 withNative Image. |
sulong/ | Sulong, an engine for running LLVM bitcode on GraalVM. |
tools/ | Tools for GraalVM languages implemented with the instrumentation framework. |
truffle/ | GraalVM'slanguage implementation framework for creating languages and tools. |
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. |
VS Code Extensions | VS Code extensions for GraalVM. |
GraalVM Community Edition is open source and distributed underversion 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). GraalVM Community is free to use for any purpose - no strings attached.
Component(s) | License |
---|---|
Espresso | 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 |
About
GraalVM: Run Programs Faster Anywhere 🚀
Resources
License
Code of conduct
Security policy
Stars
Watchers
Forks
Packages0
Languages
- Java90.8%
- C4.2%
- Python1.7%
- WebAssembly1.4%
- C++0.5%
- JavaScript0.4%
- Other1.0%