Annotation Interface Prolog
A prolog operation is defined the same way as an Operation. It has the additional
restriction that it must have no dynamic operands and must declare a void return type. It
can declare constant operands.
The prolog is guarded by exception intercept methods (e.g.,
BytecodeRootNode.interceptInternalException(Throwable, VirtualFrame, BytecodeNode, int))
as well as the exceptional epilog, if present.
When Tag instrumentation is enabled, the prolog will execute after root
probes and before root body probes.
- 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
-