awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
oracle avatar

oracle/graal

0
View on GitHub↗
21,603 stars·1,789 forks·Java·21 viewswww.graalvm.org↗

Graal

GraalVM is a polyglot virtual machine and high-performance runtime designed to execute multiple programming languages within a single environment. It functions as a JVM language toolkit for building language implementations, a native image compiler for transforming bytecode into standalone binaries, and an execution environment for LLVM bitcode and WebAssembly modules.

The project is distinguished by its polyglot interoperability framework, which allows different languages to share data and execution state with low overhead. It utilizes self-modifying abstract syntax trees to optimize language interpreters into machine code and provides a native image compiler to eliminate startup latency and reduce memory footprints.

The platform covers broad capability areas including ahead-of-time native compilation, bytecode-to-WebAssembly translation, and isolated sandbox execution. It also provides developer tooling for cross-language instrumentation, multi-language build orchestration, and the visualization of compiler intermediate representations.

Users can compile custom JDK and runtime distributions from source to create tailored execution environments.

Features

  • Polyglot Application Development - Runs multiple programming languages within a single runtime to share data and logic across language boundaries.
  • Native AOT Compilation - Implements native ahead-of-time compilation to transform bytecode into standalone binaries for faster startup.
  • Language Implementation Frameworks - Provides a framework for building high-performance language implementations using self-modifying abstract syntax trees.
  • Language Interoperability - Implements a low-overhead interoperability framework for sharing data and state between different programming languages.
  • LLVM Bitcode Executors - Provides a virtual machine capable of running programs compiled to LLVM bitcode.
  • Cross-Language Compilation - Transforms multiple programming languages into optimized machine code using a dynamic compiler and virtual machine.
  • Dynamic Polyglot Optimizations - Implements a dynamic compiler that integrates with a virtual machine to provide high-performance execution for diverse languages.
  • Language Embedding - Integrates multiple programming language implementations into a single runtime to allow cross-language execution and interoperability.
  • Polyglot Virtual Machines - Functions as a high-performance runtime executing multiple programming languages within a single environment.
  • Custom Distributions - Allows compiling and tailoring a custom Java development kit or runtime to optimize performance for specific environments.
  • Language-Agnostic Runtimes - Provides a language-agnostic runtime that supports multiple language parsers through a unified native interface.
  • WebAssembly - Executes WebAssembly binary modules within an application or as standalone processes using a standardized interface.
  • Self-Modifying ASTs - Uses self-modifying abstract syntax trees to optimize language interpreters into high-performance machine code.
  • JDK Distribution Builders - Allows compiling a high-performance runtime and compiler from source to create a tailored JDK.
  • Cross-Language Profilers & Debuggers - Enables the creation of debuggers and profilers that work across different languages via a shared abstract syntax tree.
  • Real-Time Performance Profilers - Provides high-precision, real-time instrumentation for analyzing and optimizing execution across multi-language environments.
  • LLVM Bitcode Executors - Runs programs compiled to LLVM bitcode within a high-performance virtual machine to support a wide range of compiled languages.
  • Regular Expression Engines - Matches strings using a finite-state automaton to ensure linear search performance and prevent exponential execution times.
  • Dynamic Execution in Native Images - Allows loading and running Java bytecode dynamically from within an ahead-of-time compiled native executable.
  • Cross-Language Instrumentation - Provides a shared framework for attaching debuggers and profilers to multiple languages executing in one system.
  • Bytecode Translators - Compiles JVM bytecode into WebAssembly binary format for execution in browsers or standalone runtimes.
  • Runtime Builds - Enables compiling a full runtime distribution, including the SDK and JIT compiler, from source.
  • Isolated Execution Sandboxes - Provides secure, isolated sandbox environments to run untrusted code without compromising the host system.
  • Compiler Graph Visualization - Includes a graphical tool to inspect and analyze the compiler's intermediate representation to understand the compilation process.
  • Runtime Language Instrumentation - Provides a specialized framework to attach external developer tools, such as multi-language debuggers, to running language implementations.
  • WebAssembly Compilation - Transforms JVM bytecode into WebAssembly binaries for execution in browsers or standalone runtimes.
  • JVM and JDK Implementations - Polyglot embeddable JVM for high-performance execution.

Star history

Star history chart for oracle/graalStar history chart for oracle/graal

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Graal

These projects share indexed features with Graal. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • graalvm/graalgraalvm avatar

    graalvm/graal

    21,603View on GitHub↗

    Graal is a compiler and runtime architecture designed for high-performance execution and polyglot interoperability. It utilizes a graph-based representation of program logic to perform global optimizations and JIT compilation. The project features a meta-circular interpretation framework and a specialized partial evaluation mechanism, which allow for the creation of new programming languages and the automatic optimization of their semantics into machine code. It enables multiple diverse programming languages to share memory and communicate through a standardized cross-language protocol within

    Java
    View on GitHub↗21,603
  • wasmerio/wasmerwasmerio avatar

    wasmerio/wasmer

    20,421View on GitHub↗

    Wasmer is a high-performance runtime engine designed to execute sandboxed WebAssembly modules across server-side, edge, and browser environments. It functions as a comprehensive platform for building, distributing, and running isolated applications, providing a secure and portable execution layer that maintains consistency across diverse hardware architectures and operating systems. The platform distinguishes itself through a robust toolchain that enables cross-language interoperability and the transformation of code into portable binary packages. It supports ahead-of-time binary generation t

    Rustemscriptenlinuxmacos
    View on GitHub↗20,421
  • scala/scalascala avatar

    scala/scala

    14,548View on GitHub↗

    Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends. The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n

    Scalafunctional-programmingjvm-languagesobject-oriented-programming
    View on GitHub↗14,548
  • tinygo-org/tinygotinygo-org avatar

    tinygo-org/tinygo

    17,529View on GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    View on GitHub↗17,529
Compare all 30 related projects→

Frequently asked questions

What does oracle/graal do?

GraalVM is a polyglot virtual machine and high-performance runtime designed to execute multiple programming languages within a single environment. It functions as a JVM language toolkit for building language implementations, a native image compiler for transforming bytecode into standalone binaries, and an execution environment for LLVM bitcode and WebAssembly modules.

What are the main features of oracle/graal?

The main features of oracle/graal are: Polyglot Application Development, Native AOT Compilation, Language Implementation Frameworks, Language Interoperability, LLVM Bitcode Executors, Cross-Language Compilation, Dynamic Polyglot Optimizations, Language Embedding.

Which projects share features with oracle/graal?

Projects with overlapping indexed features include: graalvm/graal — Graal is a compiler and runtime architecture designed for high-performance execution and polyglot interoperability. It… wasmerio/wasmer — Wasmer is a high-performance runtime engine designed to execute sandboxed WebAssembly modules across server-side,… scala/scala — Scala is a statically typed programming language and compiler that combines object-oriented and functional programming… tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… bytecodealliance/wasmtime — Wasmtime is a WebAssembly runtime and sandboxed bytecode executor designed to run WebAssembly bytecode on a host… assemblyscript/assemblyscript — AssemblyScript is a compiler and tooling suite used for WebAssembly module development. It converts a subset of…