Annotation Interface EpilogReturn
exceptional epilog handles uncaught Truffle exceptions).
A return epilog operation is defined the same way as an Operation. It has the additional
restriction that its specializations must take one operand (the returned value) and must return a
value. The return value (which can simply be the input operand) is returned from the root node.
The return epilog is guarded by exception intercept methods (e.g.,
BytecodeRootNode.interceptInternalException(Throwable, VirtualFrame, BytecodeNode, int))
as well as any language-level exception handlers guarding the return, including the
exceptional epilog, if present.
- Since:
- 24.2
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionbooleanIndicates whether this operation requires the bytecode index to be updated.
-
Element Details
-
storeBytecodeIndex
boolean storeBytecodeIndexIndicates whether this operation requires the bytecode index to be updated. By default, the DSL assumes that all operations with caches require the bytecode index to be updated. The DSL will emit a warning if specifying this attribute is necessary.If this attribute has been set to
false, then theStoreBytecodeIndexannotation can be used to enable this property for individualSpecializationorFallback-annotated methods.This annotation only has an effect if
GenerateBytecode.storeBytecodeIndexInFrame()is set totrueor if theuncached interpreter tieris enabled.- Since:
- 25.1
- See Also:
- Default:
true
-