Skip navigation links
GraalVM Truffle Java API Reference
23.1.0-dev

fd644de48827d6f22c1f1551a69ee3383132b221
Truffle 
Package Description
com.oracle.truffle.api
Do you want to implement your own Truffle based language? In such case start here.
com.oracle.truffle.api.debug
The debug package contains a debugger API that can be used to install breakpoints, step through and control the execution of Truffle guest language applications.
com.oracle.truffle.api.dsl
Domain specific language that allows to specify specializing AST nodes in a declarative way.
com.oracle.truffle.api.exception
This package contains a Truffle exception base class.
com.oracle.truffle.api.frame
Package containing stack frame representation classes.
com.oracle.truffle.api.instrumentation
The instrumentation API provides a way to introspect and inject behavior into interpreters written using the Truffle framework.
com.oracle.truffle.api.instrumentation.provider
This package contains a provider to instantiate a Truffle instrument.
com.oracle.truffle.api.interop
This package contains classes that specify the contract for inter-operability between Truffle guest languages and tools.
com.oracle.truffle.api.io
This package contains I/O related classes used by TruffleLanguage implementations.
com.oracle.truffle.api.memory
This package contains memory related classes used by TruffleLanguage implementations.
com.oracle.truffle.api.nodes
Abstract syntax tree nodes are the basic building block for your TruffleLanguage.
com.oracle.truffle.api.object
Dynamic object storage model.
com.oracle.truffle.api.profiles
A profile is a Truffle utility class that uses the Truffle compiler directives to guard for and/or forward runtime information to the compiler.
com.oracle.truffle.api.provider
This package contains a provider to instantiate a Truffle language.
com.oracle.truffle.api.source
Represents a source file.
com.oracle.truffle.api.staticobject
Static Object Model APIs to represent the layout of objects that, once defined, do not change the number and the type of their properties.
com.oracle.truffle.api.utilities
Various utility classes that aim to make the development of TruffleLanguage guest languages easier.
Test Compatibility Kit 
Package Description
org.graalvm.polyglot.tck
Provide an implementation of the LanguageProvider to test language inter-operability.
GraalVM SDK 
Package Description
org.graalvm.collections
The GraalVM SDK collections package contains memory efficient data structures.
org.graalvm.home
The GraalVM SDK home API allows query home paths for the GraalVM, its languages and its tools.
org.graalvm.nativeimage
The GraalVM SDK Native Image API allows to customize the native image generation, i.e., the ahead-of-time compilation of Java code to standalone executables.
org.graalvm.nativeimage.c
This package and its sub-packages provide a fast and lightweight interface between Java code and C code.
org.graalvm.nativeimage.c.constant
This package provides parts of the Java / C interface that are related to C constants.
org.graalvm.nativeimage.c.function
This package provides parts of the Java / C interface that are related to C functions.
org.graalvm.nativeimage.c.struct
This package provides parts of the Java / C interface that are related to C structures.
org.graalvm.nativeimage.c.type
This package provides parts of the Java / C interface that are related to standard C pointer types, as well as utility functions to convert between Java types and C types.
org.graalvm.nativeimage.hosted
The GraalVM SDK Native Image API allows to customize the native image generation, i.e., the ahead-of-time compilation of Java code to standalone executables: Features allow clients to intercept the native image generation and run custom initialization code at various stages. RuntimeClassInitialization is used to configure when classes are initialized. RuntimeReflection to register classes, methods, and fields for reflection at run time.
org.graalvm.options
The GraalVM SDK options package contains reusable collection classes for options.
org.graalvm.polyglot
The GraalVM SDK polyglot API allows to embed Graal languages in Java applications.
org.graalvm.polyglot.io
Input/Output support for the GraalVM SDK polyglot API.
org.graalvm.polyglot.management
The management package provides tools that monitor and instrument the behavior of guest language programs.
org.graalvm.polyglot.proxy
The GraalVM SDK proxy interfaces allow to mimic guest language objects, arrays, executables, primitives and native objects in Graal languages.
org.graalvm.word
This package provides a low-level mechanism to use machine-word-sized values in Java.
Other Packages 
Package Description
com.oracle.svm.core.annotate
This package contains annotations that configure the substitution mechanism of GraalVM Native Image.
com.oracle.truffle.api.library
Truffle Libraries allow language implementations to use polymorphic dispatch for receiver types with support for implementation specific caching/profiling and customization of the dispatch.
com.oracle.truffle.api.strings
Truffle String related APIs.
Skip navigation links
GraalVM Truffle Java API Reference
23.1.0-dev

fd644de48827d6f22c1f1551a69ee3383132b221

Copyright © 2012, 2023, Oracle and/or its affiliates. All rights reserved.