Package io.quarkus.deployment.recording
Class BytecodeRecorderImpl.DeferredParameter
- java.lang.Object
-
- io.quarkus.deployment.recording.BytecodeRecorderImpl.DeferredParameter
-
- Direct Known Subclasses:
BytecodeRecorderImpl.DeferredArrayStoreParameter
- Enclosing class:
- BytecodeRecorderImpl
abstract class BytecodeRecorderImpl.DeferredParameter extends Object
A bytecode serialized value. This is an abstraction over ResultHandle, as ResultHandle cannot span methods.Instances of DeferredParameter can be used in different methods
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleanprepared
-
Constructor Summary
Constructors Constructor Description DeferredParameter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) abstract io.quarkus.gizmo.ResultHandledoLoad(BytecodeRecorderImpl.MethodContext context, io.quarkus.gizmo.MethodCreator method, io.quarkus.gizmo.ResultHandle array)The function that is called to read the value for use.(package private) voiddoPrepare(BytecodeRecorderImpl.MethodContext context)(package private) voidprepare(BytecodeRecorderImpl.MethodContext context)function that prepares the value for use.
-
-
-
Method Detail
-
doLoad
abstract io.quarkus.gizmo.ResultHandle doLoad(BytecodeRecorderImpl.MethodContext context, io.quarkus.gizmo.MethodCreator method, io.quarkus.gizmo.ResultHandle array)
The function that is called to read the value for use. This may be by reading the value from the Object[] array, or is may be a direct ldc instruction in the case of primitives.Code in this method is run in a single instruction group, so large objects should be serialized in the
doPrepare(MethodContext)method insteadThis should not be called directly, but by
BytecodeRecorderImpl.SplitMethodContext.loadDeferred(DeferredParameter)
-
prepare
final void prepare(BytecodeRecorderImpl.MethodContext context)
function that prepares the value for use. This is where objects should actually be loaded into the main array- Parameters:
context- The main method context.
-
doPrepare
void doPrepare(BytecodeRecorderImpl.MethodContext context)
-
-