All Classes and Interfaces

Class
Description
A base class for an exception thrown during the execution of a guest language program.
The following snippet shows the guest language exception implementation.
Abstract base class for Truffle strings.
Mechanism for referring to fields and methods otherwise inaccessible due to Java language access control rules.
An event representing an allocation of a guest language value.
An instrumentation filter of allocations of guest language values.
Listener to be notified about guest language value allocations.
Reporter of guest language value allocations.
Allows a method annotated with CField to have a value type that is narrower (smaller number of bits) than the C type.
Allows a method annotated with CField to have a value type that is wider (larger number of bits) than the C type.
This annotation allows to add additional annotations to existing methods but keep the implementation as it is.
This class provides methods to query annotation information on AnnotatedElements while trying to prevent, at image build time, side-effecting changes that impact the analysis results.
Helper class to prepare AOT enabled nodes for AOT in RootNode.prepareForAOT().
An exception thrown if a executable or instantiable object was provided with the wrong number of arguments.
This class provides additional operations for String as well as character and byte arrays, which may be intrinsified by a compiler.
A value that the compiler can assume is constant, but can be changed by invalidation.
An assumption is a global boolean flag that starts with the value true (i.e., the assumption is valid) and can subsequently be invalidated (using Assumption.invalidate()).
Deprecated, for removal: This API element is subject to removal in a future version.
Binds and executes an expression at most once for every execution of the node.
Defines a default bind expression for a given type.
Represents a standard node for guest language blocks.
Represents a contract how block element nodes can be executed.
Deprecated.
BranchProfiles are profiles to speculate on branches that are unlikely to be visited.
A request that guest language program execution be suspended at specified locations on behalf of a debugging client session.
Specifies a breakpoint kind.
This listener is called when a breakpoint is resolved at the target location.
Utility methods to write to and read from arrays of bytes.
Parent class for a bytecode builder generated by the Bytecode DSL.
The configuration to use while generating bytecode.
Builder to generate a BytecodeConfig programmatically.
Abstract class implemented by generated code to encode BytecodeConfig data.
Base interface for a bytecode root node to get additional debug event that are normally not available.
Implement this class to quickly get some debug output for events in the bytecode node.
Represents a class that can deserialize constants from a byte stream.
Interface for a generated class that can deserialize a BytecodeRootNode from a byte input.
Accessor class used to abstract away frame and bytecode array accesses in the generated code.
Class representing an exception thrown by a BytecodeBuilder when the program cannot be encoded, for example, when the bytecode exceeds the maximum addressable bytecode size.
Abstract definition of a label.
Abstract definition of a local variable in the interpreter.
A materialized bytecode location.
Represents the current bytecode for a Bytecode DSL root node.
Interface for Truffle bytecode nodes which can be on-stack replaced (OSR).
Functional interface containing a method to parse one or more nodes using a BytecodeBuilder.
Base interface to be implemented by the bytecode root node of a Bytecode DSL interpreter.
A BytecodeRootNodes instance encapsulates one or more bytecode root nodes produced from a single parse.
Represents a class that can serialize constants in a bytecode interpreter.
Interface for a generated class that can serialize a BytecodeRootNode to a byte buffer.
Contains code to support Bytecode DSL interpreters.
Special list to weakly keep track of clones.
Represents the tier of a given BytecodeNode.
A ByteSequence is a readable sequence of byte values.
Specialized value profile to capture certain properties of byte runtime values.
A parameter annotated with Cached in a Specialization refers to a cached value of a specialization instance.
Disallows any sharing with other cached parameters.
Allows sharing between multiple Cached parameters between multiple specializations or exported library messages.
The cached library annotation allows to use Truffle Libraries conveniently in specializations or exported messages.
Represents the target of a call.
Denotes a method as a bitfield access of a C struct.
A pointer to a 8-bit C primitive value.
A pointer to a pointer to a 8-bit C primitive value.
Qualifies a C type as const in an entry-point method signature.
Denotes a method as a C constant value.
Allows access to the value of a CConstant during image generation.
Defines the context for most other annotations of the C interface: the C header files that need to be imported, the C macros that need to be defined to properly configure these headers, and additional flags that should be passed to the C compiler when analyzing the definitions.
Describes a C context.
A pointer to a C primitive 'double' value.
Annotates a method that is a VM entry point.
A BooleanSupplier that always returns true.
The built-in methods which can be aliased.
Marker interface for all exception handler classes.
Special placeholder value for CEntryPoint.exceptionHandler() to print the caught exception and treat it as a fatal error.
Designates an Isolate parameter to use as the execution context.
Designates an IsolateThread parameter to use as the execution context.
A BooleanSupplier that always returns false.
 
A function pointer to an entry point method that can be, for example, handed out to C code so that C code can call back into Java code.
Annotation to import a C enumeration to Java.
Provides additional properties for a field (i.e., an enumeration value) of Java enumeration annotated with CEnum.
Annotation for a method that returns the Java enumeration object for a given C integer value.
Annotation for a method that returns the C integer value for a Java enumeration object.
Denotes a method as a field access of a C struct.
Denotes a method as a field address computation of a C struct.
Denotes a method as a field offset access of a C struct.
A pointer to a C primitive 'float' value.
Denotes a native method that calls directly from Java to C, without following the JNI protocol.
Describes the thread state transition performed when the C function is invoked.
Base interface for all function pointers.
Defines the C header file for entry points enclosed by the annotated class or method.
Container for Header file properties.
A pointer to a 32-bit C primitive value.
A pointer to a pointer to a 32-bit C primitive value.
Denotes an external library that needs to be linked in.
A pointer to a 64-bit C primitive value.
Informational only.
Pointer to executable code.
A machine-word-sized value that can be compared for equality.
Assertions about the code produced by the Truffle compiler.
Directives that influence the optimizations of the Truffle compiler.
Marks fields that should be considered final for a Truffle compilation although they are not final while executing in the interpreter.
Marks a method that it is considered as a boundary for Truffle partial evaluation.
Marks classes as value types.
ConditionProfiles are useful to profile the outcome of conditions.
Defines a constant operand for an operation.
Repeat annotation for ConstantOperand.
A polyglot context for Graal guest languages that allows to evaluate code.
A context local reference that refers to a value that is created for each polyglot context.
Listener to be notified about changes of contexts in guest language application.
A context thread local reference that refers to a value that is created for each polyglot context and thread.
Representation of a continuation closure, consisting of a resumable RootNode, the interpreter state, and a yielded result.
Abstract class representing the root node for a continuation.
An exception thrown to model control flow in a Truffle interpreter.
CountingConditionProfiles are useful to profile the outcome of conditions.
Denotes Java interface that imports a C pointer type.
Specifies a factory method that creates a Node which is used to cast this child.
A pointer to a 16-bit C primitive value.
Denotes Java interface that imports a C struct.
Utility methods to convert between Java types and C types.
An auto-closable that holds a Java CharSequence as a null-terminated C char[] array.
An auto-closable that holds a Java CharSequence[] array as a null-terminated array of null-terminated C char[]s.
Defines a name for C type to be used in an entry-point method signature.
Informational only.
Qualifies a C integer type as unsigned in an entry-point method signature.
Utility methods that provide access to the current isolate.
Holds an Assumption, and knows how to recreate it with the same properties on invalidation.
Representation of a polyglot context in a guest language execution.
Listener to be notified about changes of contexts in guest language application.
Information about an exception thrown from a guest language.
Represents an exception catch location.
Class that simplifies implementing a debugger on top of Truffle.
Represents a single debugging session of a Debugger.
Set of debugger-specific tags.
Representation of guest language scope at the current suspension point, or a top scope.
Represents a frame in the guest language stack.
Represents a trace element in the guest language stack trace.
Listener to be notified about changes of threads in guest language application.
Represents a value accessed using the debugger API.
Service provider interface implemented by external default exports of a library.
A trivial static object factory that allocates static objects of type Object.
A trivial default implementation of StaticProperty.
Mechanism to ensures that an element is not used.
If a Node subtype is annotated with this annotation then replacement is denied.
Represents a direct call to a CallTarget.
Deprecated.
Specialized value profile to capture certain properties of double runtime values.
APIs to support share code in generated code.
Interface implemented by specialization data classes.
A library that allows to dynamically dispatch to export library classes.
Represents a dynamic object, members of which can be dynamically added and removed at run time.
Using this annotation, subclasses can define additional dynamic fields to be used by the object layout.
DynamicObject access library.
Service provider interface implemented by library exports if they needed to be loaded eagerly with a library.
Memory efficient map data structure that dynamically changes its representation depending on the number of entries and is specially optimized for small number of entries.
Utility methods for the EconomicMap.
Wraps an existing Map as an EconomicMap.
Memory efficient set data structure.
Thread local reference class to remember the current encapsulating node of an interpreter on the stack.
An execution engine for Graal guest languages that allows to inspect the the installed guest languages, instruments and their available options.
Represents an access policy to the process environment for the guest languages of a context.
Defines an exceptional epilog operation.
Defines a return epilog operation.
Strategy for comparing two objects.
An instrumentation handle for a subscription to a filtered stream of execution event notifications.
Represents the context of an execution event.
This class contains exact math related methods that are generally useful for dynamic language implementations.
Introspection class modeling the meta-information of an exception handler in a bytecode interpreter.
Represents the kind of the exception handler.
Represents a type of a Truffle exception.
Represents an executable node in a Truffle AST.
This annotation declares a child field to be executed and used as dynamic input values for specializations.
Represents a source execute event from a ExecuteSourceListener.
A listener attached by an Instrumenter to specific sources of a guest language program to listen to execute source events.
Allows tracing of calls to execute methods of a Node.
An execution event object passed to an execution listener consumer.
A listener attached by an Instrumenter to specific locations of a guest language program to listen to execution events.
An event node created by an ExecutionEventNodeFactory for a specific locations of a guest language program to listen to instrumentation events.
Event node factories are factories of event nodes for a program location.
Execution listeners allow to instrument the execution of guest languages.
Represents an execution signature of a RootNode.
Specifies that loops originating from within this method should be fully unrolled.
Controls the behavior of the ExplodeLoop annotation.
Allows to export messages of Truffle libraries.
Repeat annotation for ExportLibrary.
Exports the annotated method or class as library message.
Explicitly ignores warning messages originating from the ExportLibrary annotation.
 
A method annotated with Fallback is treated as a Specialization that implicitly links all the guards of all other declared Specialization annotated methods of the operation in a negated form.
Features allow clients to intercept the native image generation and run custom initialization code at various stages.
Access methods that are available for all feature methods.
Service-provider for Truffle files.
A selector for determining which FileSystem should handle operations on a given Path.
Read-only bitset designed for partial evaluation.
Deprecated.
Specialized value profile to capture certain properties of float runtime values.
Forces quickening for an Operation specialization.
Repeat annotation for ForceQuickening.
Represents a frame containing values of local variables of the guest language.
Descriptor of the slots of frame objects.
Builder API for frame descriptors with indexed slots.
Internal frame accessor methods for internal Truffle components that are trusted.
Represents a current frame instance on the stack.
 
Exception thrown if the frame slot kind does not match the expected kind.
Allows nodes with specializations to be prepared for AOT.
Excludes the annotated Specialization from AOT preparation.
Implemented by generated code.
Generates a bytecode interpreter using the Bytecode DSL.
This annotation should only be used for testing to generate multiple variants of the interpreter with slightly different configurations.
The annotation used to declare a variant.
Allows to enable or disable the generation of the cached version of a Truffle DSL node.
Marks a type as being generated based on another class or method of a class.
Generates code for a node that makes this node inlinable when used in cached parameters of specializations.
Libraries are specified with public and abstract Java classes that extend the Library class and are annotated by @GenerateLibrary.
Makes a library message abstract, but allows to keep a default implementation.
Specifies library implementations provided by default as a fallback.
 
Annotate nodes or base classes of nodes to generate factory handlers implementing the NodeFactory interface.
Make the code generated for an annotated node package-private.
Generates an uncached version of a node with specializations.
Generates a default wrapper subclass of an annotated InstrumentableNode subclass.
Annotates a method which should not be instrumented in the generated wrapper subclass.
Annotates a method to be used as incoming value converter.
Annotates a method to be used as outgoing value converter.
An interface to be implemented by yield exceptions.
A unique key to be used for private object fields; excluded from enumeration and compared by object identity.
A utility class to find various paths of the running GraalVM, as well as the version.
Represents the host access policy of a polyglot context.
If HostAccess.SCOPED is used, placing this annotation on an exported host function excludes it from parameter scoping, i.e.
Annotation used by the predefined HostAccess.EXPLICIT access policy to mark public constructors, methods and fields in public classes that should be accessible by the guest application.
Allows guest language to implement a Java type.
List of default host object mappings of mutable target types available in Value.as(Class).
Represents the precedence of a target type mapping.
Directives that influence the optimizations of the host compiler.
Marks a method that is an implementation of a Truffle interpreter, and which should receive additional optimization budget.
Deprecated.
use is no longer needed.
Hints to Truffle host inlining that a particular method is partial evaluatable, but it would be a good place for a cutoff when performing host inlining.
Methods annotated with Idempotent must be methods that may cause side effects but will always cause the same side effects for repeated invocations with the same parameters.
Utility class to retrieve information about the context in which code gets executed.
A key-value store of singleton objects.
Marks an implicit cast method.
Imports all public and static methods and fields of the provided classes for the use in DSL expressions of the annotated class or its subclasses.
Deprecated.
Represents an indirect call to a CallTarget.
Injects the annotated field into the TargetClass.
Inject accessor methods for the field denoted using an Alias annotation.
BranchProfiles are profiles to speculate on branches that are unlikely to be visited.
Specialized value profile to capture certain properties of byte runtime values.
ConditionProfiles are useful to profile the outcome of conditions.
CountingConditionProfiles are useful to profile the outcome of conditions.
Specialized value profile to capture certain properties of byte runtime values.
Specialized value profile to capture the exact class of reference runtime values.
Specialized value profile to capture certain properties of float runtime values.
Specialized value profile to capture certain properties of int runtime values.
Specialized value profile to capture certain properties of long runtime values.
InlinedLoopConditionProfiles are designed to profile the outcome of loop conditions.
A profile is a Truffle utility class that uses the Truffle compiler directives to guard for and/or forward runtime information to the compiler.
Contains classes to support node object inlining in Truffle.
Represents a field for boolean primitives in inlined nodes.
Represents a field for byte primitives in inlined nodes.
Represents a field for char primitives in inlined nodes.
Represents a field for double primitives in inlined nodes.
Represents a field for float primitives in inlined nodes.
Base class for inlined field references.
An inline targert for an inlinable node.
Represents a field for int primitives in inlined nodes.
Represents a field for long primitives in inlined nodes.
Represents a field for references in inlined nodes.
Used to specify fields for node object inlining in inline methods for the inline target.
Used to specify multiple InlineSupport.RequiredField.
Represents a field for short primitives in inlined nodes.
Represents a field for updating state fields in inlined nodes.
Marks a field to be accessed with unsafe.
Represents metadata for an instruction in a bytecode node.
Represents metadata for an argument of an instruction in a bytecode node.
Represents a branch profile.
Represents the kind of an Instruction.Argument.
A handle for an instrument installed in an engine.
Interface implemented by AST nodes that may be instrumentable: an AST location where Truffle instruments are permitted to listen to before and after using execution event listeners.
Nodes that the instrumentation framework inserts into guest language ASTs (between instrumentable guest language nodes and their parents) for the purpose of interposing on execution events and reporting them via the instrumentation framework.
Instrumentations are operations that can be dynamically enabled at runtime.
Provides capabilities to attach listeners for execution, load, output and allocation events.
Represents public information about an instrument.
Wrapper object containing a TruffleString's internal byte array, along with a byte offset and length defining the region in use.
Represents an internal resource of a language that can be lazily unpacked to a cache user directory.
Represents a supported CPU architecture.
Access to common utilities for unpacking resource files.
The annotation used to lookup InternalResource by an id.
Represents a supported operating system.
Used to register an optional InternalResource using a ServiceLoader.
Common super class for exceptions that can occur when sending interop messages.
Represents the library that specifies the interoperability message protocol between Truffle languages, tools and embedders.
Deprecated.
Annotate a DSL operation using this annotation to be introspectable.
Contains introspection utilities for Truffle DSL.
Internal marker interface for DSL generated code to access reflection information.
Represents dynamic introspection information of a specialization of a DSL operation.
Specialized value profile to capture certain properties of int runtime values.
An exception thrown if an array does not contain a element with an index.
An exception that should be thrown if an assumption is checked and the check fails.
An exception thrown if a buffer access if out of bounds.
Annotation for an invocation method defined in a sub-interface of CFunctionPointer.
Represents an IO access configuration of a polyglot context.
Builder to create a custom IO access configuration.
Pointer to the runtime data structure for an isolate.
Support for the creation, access to, and tear-down of isolates.
Parameters for the creation of an isolate.
Builder for a Isolates.CreateIsolateParameters instance.
An exception thrown in the context of managing isolates.
Identifies a protection domain for an isolate.
Pointer to the runtime data structure for a thread.
Deprecated.
This class is deprecated and will be removed in a future version.
 
 
 
If a class annotated with TargetClass is also annotated with Substitute, all non-substituted methods in that class are by default treated as deleted.
A handle for a Graal language installed in an engine.
Represents public information about a language.
Deprecated.
since 21.1.
Internal package access helper.
Deprecated.
Implementation detail.
Base class for all Truffle library specifications.
Base class for generated export classes.
Internal interface for generated code only.
Library factories allow to create instances of libraries used to call library messages.
Represents a source load event from a LoadSourceListener.
A listener attached by an Instrumenter to specific locations of a guest language program to listen to load source events.
Represents a source section load event from a LoadSourceSectionListener.
A listener attached by an Instrumenter to specific locations of a guest language program to listen to sources section load events.
Operation parameter that allows an operation to get, set, and clear the value of a local.
Operation parameter that allows an operation to get, set, or clear locals declared in a contiguous range.
Introspection class modeling a local variable and its liveness info in a bytecode interpreter.
Property location.
Marker interface for location identities.
Concurrent lock-free pool data structure.
Thread-safe and lock-free prefix-tree implementation in which keys are sequences of 64-bit values, and the values are 64-bit values.
Policy for allocating objects of the lock-free prefix tree.
Allocator that allocates objects directly on the managed heap.
 
Allocator that internally maintains several pools of preallocated objects, and allocates objects from those pools.
Low-level handler for log messages of native images.
Deprecated.
Specialized value profile to capture certain properties of long runtime values.
LoopConditionProfiles are designed to profile the outcome of loop conditions.
A loop node calls repeating nodes as long as it returns true.
Cursor to iterate over a mutable map.
Represents a materialized frame containing values of local variables of the guest language.
Operation parameter that allows an operation to get, set, and clear the value of a local from a materialized frame of the current root node or an outer root node.
This class contains mathematical methods that are not already provided by Math that are generally useful for language implementations.
Represents a description of library message.
An endpoint representing one side of message transport.
Allows to take over transport of message communication initiated by an instrument.
Thrown when a transport connection is vetoed.
This exception is thrown when a JNI query tries to access an element that was not registered for JNI access in the program.
This exception is thrown when a reflective query (such as Class.getMethod(String, Class[])) tries to access an element that was not registered for reflection in the program.
Represents a mutable variant of a TruffleString.
Node to get the given AbstractTruffleString as a managed MutableTruffleString, meaning that the resulting string's backing memory is not a native pointer.
Node to create a new MutableTruffleString by concatenating two strings.
Node to forcibly assign any encoding to a string.
Node to create a new MutableTruffleString from a byte array.
Node to create a new MutableTruffleString from an interop object representing a native pointer.
MutableTruffleString.SubstringNode, but with byte indices.
Node to create a new mutable substring of a string.
Node to get a given string in a specific encoding.
Node to write a byte into a mutable string.
An allocation function for native buffers.
Add a filter for source sections that are nearest to the given source position, according to the guest language control flow.
Builder to configure NearestSectionFilter before creating its instance.
Useful to annotate methods, fields or parameters bound by any DSL expression to indicate that it never returns a null or default primitive value.
Abstract base class for all nodes in the Truffle Abstract Syntax Tree (AST).
Marks fields that represent child nodes of this node.
Marks array fields that are children of this node.
A NodeChild element defines an executable child for the enclosing Node.
 
Information about a Node class.
Declarative base class for node fields that are to be cloned together with the containing node.
Deprecated.
in 24.1 without replacement
Enables the dynamic creation of generated nodes.
A NodeField element defines a field for the generated Node.
A NodeFields element defines a field for the generated Node.
Annotation for providing additional information on nodes.
Common base interface for all Truffle nodes.
Node Library provides access to guest language information associated with a particular Node location.
Utility class that manages the special access methods for node instances.
 
Visitor for trees of nodes.
Methods annotated with NonIdempotent must be methods that may cause side effects but may not always cause the same side effects for repeated invocations with the same parameters.
The opaque representation of a handle to a Java object given out to unmanaged code.
Manages a set of ObjectHandles.
Deprecated.
no replacement; dynamic type no longer needs to inherit from ObjectType.
Declares an operation.
Defines an operation using an existing Node.
Designates a Node class as eligible for proxying.
Repeat annotation for OperationProxy.
 
Describes the attributes of an option whose value is in a static field annotated by this annotation.
Must be applied on classes containing option fields to specify a name prefix if the prefix cannot be inferred by language or instrument.
Categorizes options according to user relevance.
Represents metadata for a single option.
An interface to a set of OptionDescriptors.
Represents the option key for an option specification.
Represents a mapping between String keys and values.
Categorizes options according to their stability.
Represents a type of an option that allows to convert string values to Java values.
Represents a set of option values based on an OptionDescriptor.
Utility class representing a pair of values.
Holder for a pinned object, such that the object doesn't move until the pin is removed.
Root of the interface hierarchy for architectures, OS, and supported combinations of them.
Supported architecture: ARMv8 64-bit.
Supported architecture: x86 64-bit.
Supported operating system: Android.
Supported leaf platform: Android on AArch64 64-bit.
Basis for all Apple operating systems (MacOS and iOS).
Basis for all Apple operating systems on AMD64 (MACOS_AMD64 & IOS_AMD64).
Basis for all Apple operating systems on AMD64 (MACOS_AMD64 & IOS_AMD64).
Marker for elements (types, methods, or fields) that are only visible during native image generation and cannot be used at run time, regardless of the actual platform.
Supported operating system: iOS.
Supported leaf platform: iOS on AArch 64-bit.
Supported leaf platform: iOS on x86 64-bit.
Supported operating system: Linux.
Supported leaf platform: Linux on AArch64 64-bit.
Basis for all Linux operating systems on AARCH64 (LINUX_AARCH64 & ANDROID_AARCH64).
Supported leaf platform: Linux on x86 64-bit.
Basis for all Linux operating systems on AMD64 (LINUX_AMD64).
Supported leaf platform: Linux on RISC-V 64-bit.
Supported operating system: MacOS.
Supported leaf platform: MacOS on AArch 64-bit.
Supported leaf platform: MacOS on x86 64-bit.
Supported architecture: RISC-V 64-bit.
Supported operating system: Windows.
Supported leaf platform: Windows on AArch 64-bit.
Supported leaf platform: Windows on x86 64-bit.
Restricts the annotated element (type, method, or field) to the specified Platform groups.
Lowest-level memory access of native C memory.
Marker interface for all word types that have the semantic of a pointer (but not necessarily all the memory access methods defined in Pointer).
Represents an access policy for polyglot builtins in the guest languages.
A polyglot exception represents errors that contain Graal guest languages on the stack trace.
Represents a ValueProfile that speculates on the primitive equality or object identity of values.
Represents an event sink for instrumentation events that is embedded in the AST using wrappers if needed.
Service-provider for guest languages process builder.
Subprocess attributes passed to start method.
Represents a source of subprocess input or a destination of subprocess output.
Utility class to get and set properties of the OS process at run time.
A profile is a Truffle utility class that uses the Truffle compiler directives to guard for and/or forward runtime information to the compiler.
Defines a prolog operation that executes before the body of a Root operation.
Property objects represent the mapping between property identifiers (keys) and storage locations.
A lightweight property getter that allows getting the value of a DynamicObject property without any lookup or cache dispatch.
Specifies a set of tags that are provided by a language implementation.
Proxy interfaces allow to mimic guest language objects, arrays, executables, primitives and native objects in Graal languages.
Interface to be implemented to mimic guest language arrays.
Interface to be implemented to mimic guest language objects that represents dates.
Interface to be implemented to mimic guest language objects that represents durations.
Interface to be implemented to mimic guest language objects that are executable.
Interface to be implemented to mimic guest language hash maps.
Interface to be implemented to mimic guest language objects that represents timestamps.
Interface to be implemented to mimic guest language objects that are instantiable.
Interface to be implemented to mimic guest language iterables.
Interface to be implemented to mimic guest language iterators.
Interface to be implemented to mimic native pointers.
Interface to be implemented to mimic guest language objects that contain members.
Interface to be implemented to mimic guest language objects that represents times.
Interface to be implemented to mimic guest language objects that represents timezones.
Denotes a method as a field access of a structured C memory.
Denotes a method as a field address computation of a RawStructure.
Denotes a method as a field offset access of a RawStructure.
Denotes a Java interface that is a pointer to a RawStructure.
Denotes Java interface that represents C memory, but without a C struct definition.
 
The reflection library allows to send to and proxy messages of receivers.
A pointer which is relocated when the native image is loaded at runtime.
A node that is repeatedly invoked as part of a Truffle loop control structure.
An observer that is notified whenever a child node is replaced.
Enables reporting of polymorphic specializations from this node or exported message to the runtime.
Nodes (and their subclasses) or specializations annotated with this annotation will be excluded from consideration when reporting polymorphic specializations.
Specializations annotated with this annotation are considered megamorphic.
Event triggered by a resource limit for a context.
Represents resource limits configuration that is used to configure contexts.
Represents the target of a call to a RootNode, i.e., to another tree of nodes.
Represents the root node in a Truffle AST.
This class provides methods that can be called during native-image building to configure class initialization behavior.
 
This class provides methods that can be called during native image generation to register classes, methods, and fields for JNI access at run time.
Used for manipulating options at run time.
 
This class can be used to make creating dynamic proxy classes at run time valid.
This class provides methods that can be called during native image generation to register classes, methods, and fields for reflection at run time.
This class can be used to register Java resources and ResourceBundles that should be accessible at run time.
This class provides methods that can be called before and during analysis, to register classes for serialization at image runtime.
This class provides methods that can be called during native image generation to define system property setting for image runtime.
The sandbox policy presets and validates configurations of a context or engine to be suitable as a code sandbox.
Thread-safe prefix-tree implementation in which keys are sequences of 64-bit values, and the values are 64-bit values.
 
Utility class with helpers for serialization code.
A Shape is an immutable descriptor of the current object "shape" of a DynamicObject, i.e., object layout, metadata (type, flags), and a mapping of properties to storage locations.
Builder class to construct initial Shape instances.
Builder class to construct derived Shape instances.
Declares a short-circuiting operation.
Defines the behaviour of a ShortCircuitOperation.
Repeat annotation for ShortCircuitOperation.
Represents a signed word-sized value.
Contains static methods that provide access to the size of dereferenced SystemJava pointer types (i.e.
An exception thrown to enter a slow path.
Representation of a source code unit and its contents that can be evaluated in a language.
Representation of a source code unit and its contents that can be evaluated in an execution context.
Representation of a guest language source syntax element, that is used for debugging purposes.
A source filter represents an expression for a subset of guest language sources that are used in an Truffle interpreter.
Introspection class modeling source section information for a range of bytecodes.
Introspection class modeling a tree of SourceInformation instances.
Description of contiguous section of text within a Source of program code.; supports multiple modes of access to the text and its location.
Description of contiguous section of text within a Source of program code.; supports multiple modes of access to the text and its location.
A source section filter represents an expression for a subset of tagged source sections that are used in an Truffle interpreter.
Represents a range between two indices within a source section filter.
Represents a predicate for source objects.
Defines a method of a node subclass to represent one specialization of an operation.
Represents a specialization statistics utiltiy that can be entered to collect additional statistics about Truffle DSL nodes.
Used on nodes to always enable specialization statistics.
Class to collect statistics information per node.
Contains static methods for memory allocation in the stack frame.
Set of standard tags usable by language agnostic tools.
Marks program locations that represent a call to other guest language functions, methods or closures.
Marks program locations as to be considered expressions of the languages.
Marks program locations to be considered as reads of variables of the languages.
Marks program locations as bodies of a function, method or closure.
Marks program locations as root of a function, method or closure.
Marks program locations that represent a statement of a language.
Marks program locations to be considered as try blocks, that are followed by catch.
Marks program locations to be considered as writes of variables of the languages.
StaticProperty objects represent the mapping between property identifiers and storage locations within static objects.
A StaticShape is an immutable descriptor of the layout of a static object and is a good entry point to learn about the Static Object Model.
Builder class to construct StaticShape instances.
Represents a debugger step configuration.
An exception thrown if an iterator is finished.
When used to annotate a method, it indicates that a method declaration is intended to be a substitute for a method declaration in another class.
Use to suppress Truffle DSL warnings in whole packages using a package-info.java class.
Describes where, within a guest language source section, the suspend position is.
Callback invoked whenever the debugger suspends for a particular session.
Access for Debugger clients to the state of a guest language execution thread that has been suspended, for example by a Breakpoint or stepping action.
A filter to limit the suspension locations.
Base class for tags used in the Truffle instrumentation framework.
Annotation applied to Tag subclasses to specify the tag identifier.
Logical tree representation of the Tag operations of a bytecode program.
Class that implements tag tree NodeLibrary dispatch for tag tree items.
A class annotated with this annotation denotes a class that modifies methods of fields of another class, called the "original" class.
The default value for the TargetClass.onlyWith() attribute.
Marker value for TargetClass.classLoader() that no custom classloader should be used.
Marker value for TargetClass.classNameProvider() that no class name provider should be used.
Specifies additional properties for an element also annotated with Alias, Delete, Substitute, AnnotateOriginal, or KeepOriginal.
Functionality related to execution in threads.
Interface that a callback handler needs to implement.
Provides methods that are available during the execution of a Threading.RecurringCallback.
Represents an action that is executed at a safepoint location of the guest language execution.
Listener that allows to be notified when threads become active and deactivated.
Listener to be notified about changes of threads in guest language application.
An error handler for transcoding operations such as TruffleString.SwitchEncodingNode.
An utility value with three states, TriState.TRUE, TriState.FALSE, and TriState.UNDEFINED.
Class for obtaining the Truffle runtime singleton object of this virtual machine.
A handle on a context of a set of Truffle languages.
An abstract representation of a file used by Truffle languages.
Represents a file's attribute.
A view over file's attributes values obtained by getAttributes.
A detector for finding file's MIME type and encoding.
The service provider interface (SPI) for Truffle instruments: clients of Truffle instrumentation that may observe and inject behavior into interpreters written using the Truffle framework.
Context local factory for Truffle instruments.
Provider for creating context local and context thread local references.
Context local factory for Truffle instruments.
Access to instrumentation services as well as input, output, and error streams.
Annotation that registers an instrument implementations for automatic discovery.
Used to register a TruffleInstrument using a ServiceLoader.
A Truffle language implementation contains all the services a language should provide to make it composable with other languages.
Context local factory for Truffle languages.
Provider for creating context local and context thread local references.
Defines the supported policy for reusing languages per context.
Represents a reference to the current context.
Context thread local factory for Truffle languages.
Represents execution environment of the TruffleLanguage.
Mode of exit operation.
Request for inline parsing.
Represents a reference to the current language instance.
Request for parsing.
The annotation to use to register your language to the Polyglot API.
Used to register a TruffleLanguage using a ServiceLoader.
Support for logging in Truffle languages and instruments.
Interface for any entity of a Truffle guest language implementations that can be shared across other language implementations.
An OptionDescriptors enhanced to provide a sandbox policy for options.
Class containing general Truffle options.
A builder used to create an external subprocess.
Interface representing a Truffle runtime object.
A service that provides access to a TruffleRuntime implementation.
Truffle safepoints allow interrupting the guest language execution to execute thread-local actions submitted by a language or tool.
Just like TruffleSafepoint.Interruptible but allows partial evaluation.
Just like TruffleSafepoint.InterruptibleFunction but allows partial evaluation.
An interrupter allows a foreign thread to interrupt the execution on a separate thread.
Function interface that represent interruptable Java methods.
Function interface that represent interruptable Java methods.
Represents a guest language stack trace.
Represents a guest stack trace element.
Represents a primitive String type, which can be reused across languages.
Node to get the given AbstractTruffleString as a managed TruffleString, meaning that the resulting string's backing memory is not a native pointer.
Node to convert a potentially managed TruffleString to a native string.
Node to get the given AbstractTruffleString as a TruffleString.
Node to find the index of the first occurrence of any byte from a given array.
TruffleString.IndexOfCodePointNode, but with byte indices.
Node to find the byte index of the first occurrence of a codepoint present in a given codepoint set.
TruffleString.IndexOfStringNode, but with byte indices.
Node to convert a given byte index to a codepoint index.
Node to get the number of bytes occupied by the codepoint starting at a given byte index.
Node to find the index of the first occurrence of any char from a given array.
Node to read a codepoint at a given byte index.
Node to read a codepoint at a given codepoint index.
Node to convert a given codepoint index to a byte index.
Node to get the number of codepoints in a string.
A set of codepoints in a given encoding.
Provides information about a string's content.
Node to check if a string's code range is equal to the given TruffleString.CodeRange.
Represents a string's compaction level, i.e.
Node to compare two strings byte-by-byte.
Node to compare two UTF-16 strings.
Node to compare two UTF-32 strings.
Node to concatenate two strings.
Node to copy a region of a string into a byte array.
Node to copy a region of a string into native memory.
Node to create a TruffleStringIterator.
Node to create a TruffleStringIterator.
The list of encodings supported by TruffleString.
Node to check two strings for equality.
Error handling instructions for operations that return integer values, such as indices or code points.
Node to forcibly assign any encoding to a string.
Node to create a new TruffleString from a byte array.
Node to create a new UTF-16 TruffleString from a char array.
Node to create a new TruffleString from a single codepoint.
Node to create a new UTF-32 TruffleString from an int-array.
Node to create a new TruffleString from a Java string.
Node to create a new TruffleString from a long value.
Node to create a new TruffleString from an interop object representing a native pointer.
Node to get a string's "byte-based" TruffleString.CodeRange.
Node to get a string's possibly imprecise TruffleString.CodeRange.
Node to get a string's precise TruffleString.CodeRange.
Node to get a string's internal byte array.
Node to get a native string's pointer object.
Node to get a string's TruffleString.CompactionLevel.
Node to get a string's hash code.
This exception is thrown when any operation tries to create a UTF-16 or UTF-32 string with an invalid byte length (not a multiple of 2/4 bytes).
Node to find the index of the first occurrence of a given code point.
Node to find the index of the first occurrence of a given string.
Node to find the index of the first occurrence of any int from a given array.
Node to check if a string is encoded correctly.
TruffleString.LastIndexOfStringNode, but with byte indices.
Node to find the codepoint index of the last occurrence of a given code point.
Node to find the index of the last occurrence of a given string.
Node to force materialization of any lazy internal data.
This exception may be thrown by TruffleString.ParseIntNode, TruffleString.ParseLongNode or TruffleString.ParseDoubleNode to indicate that the given string cannot be parsed as an integer, long or double value.
Node to parse a given string as a double value.
Node to parse a given string as an int value.
Node to parse a given string as a long value.
Node to read a single byte from a string.
Node to read a single char from a UTF-16 string.
Node to check for a region match, byte-by-byte.
Node to check codepoint equality of two string regions.
Node to repeat a given string N times.
TruffleString.SubstringNode, but with byte indices.
Node to create a substring of a given string.
Node to get a given string in a specific encoding.
Node to get a String representation of a TruffleString.
Node to replace all invalid bytes in a given string, such that the resulting string is valid.
Node to create a new TruffleString.WithMask from a string and a byte array.
Node to create a new TruffleString.WithMask from a UTF-16 string and a char array.
Node to create a new TruffleString.WithMask from a UTF-32 string and an int array.
The TruffleString equivalent to StringBuilder.
Node to append a single byte to a string builder.
Node to append a single char to a string builder.
Node to append a codepoint to a string builder.
Node to append an integer to a string builder.
Node to append a substring of a given String to a string builder.
Node to append a long value to a string builder.
Node to append a given TruffleString to a string builder.
Node to append a substring of a given TruffleString to a string builder.
Node to materialize a string builder as a TruffleString.
The UTF-16-specific variant of TruffleStringBuilder.
The UTF-32-specific variant of TruffleStringBuilder.
The UTF-8-specific variant of TruffleStringBuilder.
An iterator object that allows iterating over a TruffleString's codepoints, without having to re-calculate codepoint indices on every access.
Returns the next codepoint in the string.
Returns the previous codepoint in the string.
A builder for threads that have access to the appropriate TruffleContext.
Creates a new weak reference that is safe to be used in compiled code paths.
Overrides the standard way of casting a certain type in a TypeSystem.
Overrides the standard way of checking for a certain type in a TypeSystem.
Represents a generic type T.
Type guards are the most common form of guards used in Truffle languages.
References a TypeSystem on a node.
Marks a node unadoptable, this means that the parent pointer will never be written by the Truffle framework.
An exception that should be thrown if the return value cannot be represented as a value of the return type.
A CField also annotated with this annotation gets a unique LocationIdentity assigned, i.e., reads and writes do not interfere with reads and writes to any other field and are optimized without regarding other fields.
An exception thrown if an object does not contain a member with such an identifier.
An exception thrown if an object does not contain a hash entry with such a key.
Contains static methods that allow allocate/free of unmanaged memory, i.e., memory that is not under the control of the garbage collector.
Unmodifiable memory efficient map.
Unmodifiable memory efficient set data structure.
Cursor to iterate over a map without changing its contents.
Represents an unsigned word-sized value.
An exception thrown if a TruffleObject does not support a interop message.
Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for the provided values.
An exception thrown if a TruffleObject does not support the type of one or more arguments.
Represents a polyglot value that can be accessed using a set of language agnostic operations.
Enum like class representing the supported string encodings.
Specialized value profile to capture certain properties of Object runtime values.
Annotation that indicates a parameter taking 0 or more values.
A version utility to canonicalize and compare GraalVM versions.
Represents a frame containing values of local variables of the guest language.
Used for doing VM runtime operations.
A void* pointer to an opaque C value of an unknown type, without any methods to read or write.
The root of the interface hierarchy for machine-word-sized values.
Provides factory method to create machine-word-sized values.
A untyped C pointer to any machine-word-sized value, e.g., a pointer to another pointer or a pointer to a UnsignedWord or SignedWord value.