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