Package com.oracle.truffle.api.dsl
Class DSLSupport
java.lang.Object
com.oracle.truffle.api.dsl.DSLSupport
APIs to support share code in generated code. APIs in this class are aggressively deprecated and
removed in this class.
- Since:
- 23.0
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Interface implemented by specialization data classes. -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
assertIdempotence
(boolean guardValue) Helper method for DSL generated code to assert idempotence.static <T extends Enum<?>>
T[]lookupEnumConstants
(Class<T> c) Looks up shared enum constants for DSL generated code.static <T extends NodeInterface>
TmaybeInsert
(Node node, T o) Inserts a node if aNodeInterface
dynamically implementsNode
.static <T extends NodeInterface>
T[]maybeInsert
(Node node, T[] o) Inserts a node array if aNodeInterface
[] dynamically implementsNode
[].
-
Method Details
-
lookupEnumConstants
Looks up shared enum constants for DSL generated code. This avoids unnecessary enum arrays in the heap when the DSL creates constants with enum values to avoid the memory overhead of calling the values() method of enum classes.- Since:
- 23.0
-
maybeInsert
Inserts a node if aNodeInterface
dynamically implementsNode
. Intended for generated code only.- Since:
- 23.0
-
maybeInsert
Inserts a node array if aNodeInterface
[] dynamically implementsNode
[]. Intended for generated code only.- Since:
- 23.0
-
assertIdempotence
public static boolean assertIdempotence(boolean guardValue) Helper method for DSL generated code to assert idempotence.- Since:
- 23.0
- See Also:
-