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.
The following snippet shows the guest language exception implementation.
Abstract base class for Truffle strings.
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.
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()).Binds and executes an expression at most once for every execution of the node.
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.
Interface for Truffle bytecode nodes which can be on-stack replaced (OSR).
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.
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.
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.
An exception thrown to model control flow in a Truffle interpreter.
CountingConditionProfiles are useful to profile the outcome of conditions.
Specifies a factory method that creates a
Node which is used to cast this child.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.
Deprecated.
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.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.Deprecated.
Use
EagerExportProvider.Service provider interface implemented by library exports if they needed to be loaded eagerly
with a library.
Thread local reference class to remember the current encapsulating node of an interpreter on the
stack.
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.
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.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.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.Read-only bitset designed for partial evaluation.
Deprecated.
Specialized value profile to capture certain properties of
float runtime values.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.
Represents a current frame instance on the stack.
Access mode for
FrameInstance.getFrame(FrameAccess).Callback interface for
TruffleRuntime.iterateFrames(com.oracle.truffle.api.frame.FrameInstanceVisitor<T>).Exception thrown if the frame slot type does not match the access type.
Allows nodes with specializations to be prepared for AOT.
Excludes the annotated
Specialization from AOT preparation.Implemented by generated code.
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.
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.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.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.
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.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.
Deprecated.
This class is deprecated and will be removed in a future version.
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.Property location.
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.Represents a materialized frame containing values of local variables of the guest language.
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.
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 get a
AbstractTruffleString as a MutableTruffleString.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 Truffle nodes.
Marks fields that represent child nodes of this node.
Marks array fields that are children of this 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
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.Deprecated.
no replacement; dynamic type no longer needs to inherit from
ObjectType.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.
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.
A profile is a Truffle utility class that uses the
Truffle compiler
directives to guard for and/or forward runtime information to the compiler.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.The reflection library allows to send to and proxy messages of receivers.
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.
Represents the target of a call to a
RootNode, i.e., to another tree of nodes.Represents the root node in a Truffle AST.
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.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 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.
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.
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.
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.
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.Represents an action that is executed at a
safepoint location of the
guest language execution.Argument class for
ThreadLocalAction.perform(Access).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.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.
Deprecated.
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.
Deprecated.
The annotation to use to register your language to the
.
invalid reference
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 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.
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.LastIndexOfCodePointNode, but with byte indices.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.Extended parameter type for the operations
TruffleString.ByteIndexOfStringNode,
TruffleString.LastByteIndexOfStringNode and TruffleString.RegionEqualByteIndexNode.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.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.
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.
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.
Specialized value profile to capture certain properties of
Object runtime values.Represents a frame containing values of local variables of the guest language.
DefaultExportProvider.