See: Description
Interface | Description |
---|---|
DSLSupport.SpecializationDataNode |
Interface implemented by specialization data classes.
|
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. |