Annotation Interface HostCompilerDirectives.BytecodeInterpreterHandlerConfig.Argument
- Enclosing class:
HostCompilerDirectives.BytecodeInterpreterHandlerConfig
@Retention(RUNTIME)
@Target(METHOD)
public static @interface HostCompilerDirectives.BytecodeInterpreterHandlerConfig.Argument
Configuration for a bytecode interpreter handler argument.
- Since:
- 25.1
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic @interfaceConfiguration for an expanded field. -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionIndicates that this argument will be expanded in a Truffle interpreter bytecode handler stub if its expansion kind is notHostCompilerDirectives.BytecodeInterpreterHandlerConfig.Argument.ExpansionKind.NONE.Indicates the fields to be expanded of this argument if its expansion kind isHostCompilerDirectives.BytecodeInterpreterHandlerConfig.Argument.ExpansionKind.MATERIALIZED.booleanIndicates that this argument is always non-null.booleanIndicates that this argument will be updated with the return value of the handler.
-
Element Details
-
returnValue
boolean returnValueIndicates that this argument will be updated with the return value of the handler. The interpreter must store the handler result directly back to the logical local represented by this argument. Threaded handler stubs rely on that direct store shape to keep the local consistent when an exception unwinds before the normal return-value update path runs.- Default:
false
-
expand
Indicates that this argument will be expanded in a Truffle interpreter bytecode handler stub if its expansion kind is notHostCompilerDirectives.BytecodeInterpreterHandlerConfig.Argument.ExpansionKind.NONE.- Default:
NONE
-
fields
Indicates the fields to be expanded of this argument if its expansion kind isHostCompilerDirectives.BytecodeInterpreterHandlerConfig.Argument.ExpansionKind.MATERIALIZED.- Default:
{}
-
nonNull
boolean nonNullIndicates that this argument is always non-null. A null check will be placed before the call site and before threading dispatch. This property is irrelevant for primitive arguments.- Default:
true
-