Table of Contents
Overview
Getting Started
- Installing
 - Running Applications
 - Using Oracle GraalVM on OCI
 - Using Container Images
 
Native Image
- Getting Started with Native Image
 - User Guides
    
- Build
        
- Build a Native Executable from a JAR File
 - Build a Native Shared Library
 - Build a Polyglot Native Executable (Java and JavaScript)
 - Build a Static or Mostly-Static Native Executable
 - Build Java Modules into a Native Executable
 - Use Gradle to Build a Native Executable from a Java Application
 - Use Maven to Build a Native Executable from a Java Application
 
 - Configure
        
- Configure Native Image with the Tracing Agent
 - Configure Native Image Using Shared Reachability Metadata
 - Configure Dynamic Proxies Manually
 - Add Logging to a Native Executable
 - Include Resources in a Native Executable
 - Use System Properties in a Native Executable
 - Access Environment Variables in a Native Executable at Run Time
 
 - Containerize
 - Debug
 - Monitor
 - Optimize
 - Microservices
 
 - Build
        
 - Native Image Basics
 - Build Overview
 - Reachability Metadata
 - Optimizations and Performance
 - Debugging and Diagnostics
 - Dynamic Features of Java
 - Interoperability with Native Code
 - LLVM Backend for Native Image
 
Reference Manuals
- GraalVM Updater
 - JVM and Compiler
 - Java on Truffle
 - JavaScript and Node.js
    
- Differences Between Node.js and Java Embeddings
 - Frequently Asked Questions
 - JavaScript Compatibility
 - Java Interoperability
 - Migration Guide from Nashorn to GraalVM JavaScript
 - Migration Guide from Rhino to GraalVM JavaScript
 - Multithreading
 - Node.js Runtime
 - Options
 - Operator Overloading
 - Run GraalVM JavaScript on a Stock JDK
 - ScriptEngine Implementation
 - Using JavaScript Modules and Packages
 - Frequently Asked Questions
 
 - Embedding Languages
 - Polyglot Programming
 
For Language Developers and Embedders
- Truffle Language Implementation Framework
    
- Approach to Function Inlining
 - Auxiliary Engine Caching
 - Branches Instrumentation
 - Dynamic Object Model
 - Host Compilation for Interpreter Java code
 - Implementing a New Language with Truffle
 - Interop 2.0
 - Monomorphization
 - Monomorphization Use Cases
 - Optimizing Truffle Interpreters
 - Options
 - On-Stack Replacement (OSR)
 - Polyglot API Based Test Compatibility Kit
 - Profiling Truffle Interpreters
 - Reporting Polymorphic Specializations to Runtime
 - Specialization Histogram
 - Splitting Algorithm
 - Static Object Model
 - Testing DSL Specializations
 - Truffle Approach to the Compilation Queue
 - Truffle AOT Overview
 - Truffle AOT Compilation
 - Truffle DSL Node Object Inlining
 - Truffle DSL Warnings
 - Truffle Library Guide
 - Truffle Language Safepoint Tutorial
 - Truffle Native Function Interface
 - Truffle Strings Guide
 
 - Implement a Language
 - Implement a Tool