See: Description
| Interface | Description |
|---|---|
| ExecuteTracingSupport |
Allows tracing of calls to
execute methods of a Node. |
| GenerateAOT.Provider |
Implemented by generated code.
|
| Introspection.Provider |
Internal marker interface for DSL generated code to access reflection information.
|
| NodeFactory<T> |
Enables the dynamic creation of generated nodes.
|
| Class | Description |
|---|---|
| AOTSupport |
Helper class to prepare AOT enabled nodes for AOT in
RootNode.prepareForAOT(). |
| DSLSupport |
APIs to support share code in generated code.
|
| InlineSupport |
Contains classes to support node object inlining in Truffle.
|
| InlineSupport.BooleanField |
Represents a field for boolean primitives in inlined nodes.
|
| InlineSupport.ByteField |
Represents a field for byte primitives in inlined nodes.
|
| InlineSupport.CharField |
Represents a field for char primitives in inlined nodes.
|
| InlineSupport.DoubleField |
Represents a field for double primitives in inlined nodes.
|
| InlineSupport.FloatField |
Represents a field for float primitives in inlined nodes.
|
| InlineSupport.InlinableField |
Base class for inlined field references.
|
| InlineSupport.InlineTarget |
An inline targert for an inlinable node.
|
| InlineSupport.IntField |
Represents a field for int primitives in inlined nodes.
|
| InlineSupport.LongField |
Represents a field for long primitives in inlined nodes.
|
| InlineSupport.ReferenceField<T> |
Represents a field for references in inlined nodes.
|
| InlineSupport.ShortField |
Represents a field for short primitives in inlined nodes.
|
| InlineSupport.StateField |
Represents a field for updating state fields in inlined nodes.
|
| Introspection |
Contains introspection utilities for Truffle DSL.
|
| Introspection.SpecializationInfo |
Represents dynamic introspection information of a specialization of a DSL operation.
|
| SpecializationStatistics |
Represents a specialization statistics utiltiy that can be
entered to collect
additional statistics about Truffle DSL nodes. |
| SpecializationStatistics.NodeStatistics |
Class to collect statistics information per node.
|
| Exception | Description |
|---|---|
| UnsupportedSpecializationException |
Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for
the provided values.
|
| Annotation Type | Description |
|---|---|
| Bind |
Binds and executes an expression at most once for every execution of the node.
|
| Cached |
A parameter annotated with
Cached in a Specialization refers to a cached
value of a specialization instance. |
| Cached.Exclusive |
Disallows any sharing with other cached parameters.
|
| Cached.Shared |
Allows sharing between multiple Cached parameters between multiple specializations or
exported library messages.
|
| CreateCast |
Specifies a factory method that creates a
Node which is used to cast this child. |
| Executed |
This annotation declares a
child field to be executed and used as dynamic input
values for specializations. |
| Fallback |
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. |
| GenerateAOT |
Allows nodes with specializations to be prepared for AOT.
|
| GenerateAOT.Exclude |
Excludes the annotated
Specialization from AOT preparation. |
| GenerateCached |
Allows to enable or disable the generation of the cached version of a Truffle DSL node.
|
| GeneratedBy |
Marks a type as being generated based on another class or method of a class.
|
| GenerateInline |
Generates code for a node that makes this node inlinable when used in
cached
parameters of specializations. |
| GenerateNodeFactory |
Annotate nodes or base classes of nodes to generate factory handlers implementing the
NodeFactory interface. |
| GeneratePackagePrivate |
Make the code generated for an annotated
node
package-private. |
| GenerateUncached |
Generates an uncached version of a node with specializations.
|
| Idempotent |
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. |
| ImplicitCast |
Marks an implicit cast method.
|
| ImportStatic |
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. |
| InlineSupport.RequiredField |
Used to specify fields for node object inlining in inline methods for the
inline target. |
| InlineSupport.RequiredFields |
Used to specify multiple
InlineSupport.RequiredField. |
| InlineSupport.UnsafeAccessedField |
Marks a field to be accessed with unsafe.
|
| Introspectable |
Annotate a DSL operation using this annotation to be introspectable.
|
| NeverDefault |
Useful to annotate methods, fields or parameters bound by any DSL expression to indicate that it
never returns a
null or default primitive value. |
| NodeChild | |
| NodeChildren | |
| NodeField | |
| NodeFields |
A
NodeFields element defines a field for the generated Node. |
| NonIdempotent |
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. |
| ReportPolymorphism |
Enables reporting of polymorphic specializations from this node or exported message to the
runtime.
|
| ReportPolymorphism.Exclude |
Nodes (and their subclasses) or specializations annotated with this annotation will be
excluded from consideration when
reporting
polymorphic specializations. |
| ReportPolymorphism.Megamorphic |
Specializations annotated with this annotation are considered megamorphic.
|
| Specialization |
Defines a method of a node subclass to represent one specialization of an operation.
|
| SpecializationStatistics.AlwaysEnabled |
Used on nodes to always enable specialization statistics.
|
| SuppressPackageWarnings |
Use to suppress Truffle DSL warnings in whole packages using a package-info.java class.
|
| TypeCast |
Overrides the standard way of casting a certain type in a
TypeSystem. |
| TypeCheck |
Overrides the standard way of checking for a certain type in a
TypeSystem. |
| TypeSystem |
Type guards are the most common form of guards used in Truffle languages.
|
| TypeSystemReference |
References a
TypeSystem on a node. |