Allows tracing of calls to
Implemented by generated code.
Internal marker interface for DSL generated code to access reflection information.
Enables the dynamic creation of generated nodes.
Helper class to prepare AOT enabled nodes for AOT in
Contains introspection utilities for Truffle DSL.
Represents dynamic introspection information of a specialization of a DSL operation.
Represents a specialization statistics utiltiy that can be
Class to collect statistics information per node.
Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for the provided values.
Binds and executes an expression at most once for every execution of the node.
Disallows any sharing with other cached parameters.
Allows sharing between multiple Cached parameters between multiple specializations or exported library messages.
Specifies a factory method that creates a
Allows nodes with specializations to be prepared for AOT.
Excludes the annotated
Marks a type as being generated based on another class or method of a class.
Annotate nodes or base classes of nodes to generate factory handlers implementing the
Make the code generated for an annotated
Generates an uncached version of a node with specializations.
Marks an implicit cast method.
Annotate a DSL operation using this annotation to be introspectable.
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
Specializations annotated with this annotation are considered megamorphic.
Defines a method of a node subclass to represent one specialization of an operation.
Used on nodes to always enable specialization statistics.
Overrides the standard way of casting a certain type in a
Overrides the standard way of checking for a certain type in a
Type guards are the most common form of guards used in Truffle languages.