All Classes and Interfaces

Class
Description
 
An assumption that is always valid.
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()).
Access to AST-based debugging support, which is could be language implementation specific in the details chosen to be presented.
Enables instrumentation by attaching Probes to some nodes in a (newly created, not yet executed) AST.
 
 
 
Property location.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class to speculate on conditions to be never true or to be never false.
 
Utility class to speculate on branches to be never visited.
For a language where strings do not map into Java strings, provides utilities to find line endings and to decode raw bytes into an approximate representation for tools to display.
 
 
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.
Allows options to be set to control the compilation of a specific RootNode, without creating a dependency on the specific compiler used.
Abstract utility class to speculate on conditions.
An exception thrown to model control flow in a Truffle interpreter.
Utility class to speculate on conditions to be never true or to be never false.
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.
 
 
A language-agnostic for printing out various pieces of a Truffle AST.
This is an implementation-specific class.
 
This is runtime specific API.
A receiver for AST execution events that provides a no-op implementation of every event.
 
 
Default implementation of the Truffle runtime if the virtual machine does not provide a better performing alternative.
 
Represents a direct call to a CallTarget.
 
This is NOT public API.
This is NOT public API.
Contains utility classes shared across generated DSLNode implementations.
 
 
 
 
 
 
Represents a ValueProfile that speculates on the exact class of a value.
This class contains methods that will be part of java.lang.Math starting with JDK 8.
Access to information and basic services in the runtime context for a Truffle-implemented guest language.
This annotation is internally known by the dsl processor and used to expect errors for testing purposes.
Specifies for a method that the loops with constant number of invocations should be fully unrolled.
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.
 
Represents a frame containing values of local variables of the guest language.
Descriptor of the slots of frame objects.
 
 
A slot in a frame that can store a value of a given type.
 
Exception thrown if the frame slot type does not match the access type.
 
Marks a type as being generated based on another class or method.
Utility class for creating output for the ideal graph visualizer.
 
 
 
 
 
 
 
 
Represents a ValueProfile that speculates on the object identity of a value.
 
 
Imports all public static methods usable as guards for Specialization annotations to the current class.
 
Represents an indirect call to a CallTarget.
A dynamically added/removed binding between a Probe, which provides notification of execution events taking place at a Node in a Guest Language (GL) Truffle AST, and a receiver, which consumes notifications on behalf of an external tool.
A marker interface for Truffle nodes that support Instrumentation and are should not be part of any Guest Language execution semantics.
 
An exception that should be thrown if an assumption is checked and the check fails.
Helper function that allows to dump the AST during creation to a JSON format.
 
 
 
 
Controls breaking out of an execution context, such as a shell or eval.
 
 
 
 
 
 
A specification for a location in guest language source, expressed as a line number in a specific instance of Source, suitable for hash table keys with equality defined in terms of content.
A mapping from LineLocation (a line number in a specific piece of Source code) to a collection of Probes whose associated SourceSection starts on that line.
A mapping from LineLocation (a line number in a specific piece of Source code) to a collection of SourceSections that exist on that line.
Property location.
 
 
 
 
 
 
Property location.
 
 
 
 
 
 
Accepts the execution count of a loop that is a child of this node.
Experimental API: may change significantly without notice.
Represents a materialized frame containing values of local variables of the guest language.
A handle that can be used to call a native function.
Interface to get a handle or pointer to a native function or a handle to an open native library.
Class for obtaining the NativeFunctionInterface (if any) provided by the VM.
An opaque representation of a native function pointer.
An opaque representation of a native library handle.
An assumption that is never valid.
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.
Declares one or multiple assumptions for use inside a source code generation enabled node.
A NodeChild element defines an executable child for the enclosing Node.
 
Declarative base class for node fields that are to be cloned together with the containing node.
Represents a rough estimate for the cost of a Node.
Enables the dynamic creation of generated nodes.
This is NOT public API.
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.
Utility class that manages the special access methods for node instances.
Interface that allows the customization of field offsets used for Unsafe field accesses.
Information about a Node class.
 
Information about a field in a Node class.
 
Visitor for trees of nodes.
A special subtype of SourceSection that represents unavailable source, e.g.
 
 
 
 
Experimental API.
Experimental API.
Represents a ValueProfile that speculates on the primitive equality or object identity of values.
A binding between a particular location in the Truffle AST representation of a running Guest Language (GL) program (i.e.
An observer of events related to Probes: creating and tagging.
Implementation interfaces and classes for attaching Probes to ProbeNode.WrapperNodes.
Any Truffle node implementing this interface can be "instrumented" by installing a Probe that intercepts execution events at the node and routes them to any Instruments that have been attached to the Probe.
A node that can be inserted into a Truffle AST, and which enables instrumentation at a particular Guest Language (GL) node.
Property objects represent the mapping between low-level stores and high-level data.
Property objects represent the mapping between low-level stores and high-level data.
 
Controls breaking out of all executions and ending Truffle execution.
Experimental API: may change significantly without notice.
An observer that is notified whenever a child node is replaced.
Represents the target of a call to a RootNode, i.e., to another tree of nodes.
A root node is a node with a method to execute it given only a frame as a parameter.
Experimental API.
Shape objects create a mapping of Property objects to Locations.
 
Represents a predicate (boolean-valued function) of one argument.
 
Shape objects create a mapping of Property objects to indexes.
 
 
 
 
An abstract receiver for AST execution events that ignores return values and supports handling all events by overriding only two methods: SimpleEventReceiver.enter(Node, VirtualFrame), and SimpleEventReceiver.returnAny(Node, VirtualFrame).
An exception thrown to enter a slow path.
Representation of a guest language source code unit and its contents.
Description of contiguous section of text within a Source of program code; supports multiple modes of access to the text and its location.
 
A somewhat language-agnostic set of user-sensible syntactic categories, suitable for conventional imperative languages, and is being developed incrementally.
Program element "tags", presumed to be singletons (best implemented as enums) that define user-visible behavior for debugging and other simple tools.
Information about a guest language program element in a Truffle AST that can be marked as belonging to 0 or more tags.
A trap that can be set to interrupt execution at probed nodes carrying a specific tag.
 
 
 
 
 
 
 
Class for obtaining the Truffle runtime singleton object of this virtual machine.
A receiver of Truffle AST runtime execution events that can collect information and possibly intervene on behalf of an external tool.
Class containing general Truffle options.
Interface representing a Truffle runtime object.
Tool access to the creation of Truffle execution engines.
 
Provides a way to define a custom type check for a defined type.
 
 
Each Node has one TypeSystem at its root to define the types that can be used throughout the system.
References a TypeSystem on a node.
An exception that should be thrown if the return value cannot be represented as a value of the return type.
An assumption that combines two other assumptions.
Experimental API.
Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for the provided values.
Utility class to speculate on certain properties of values.
Experimental API.
Represents a frame containing values of local variables of the guest language.
Visualization services for the benefit of instrumentation-based tools, possibly specialized for each guest language and possibly specialized for relevant information from the underlying Truffle implementation.