final class AMD64IndirectCallOp extends AMD64Call.IndirectCallOp
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
private HotSpotVMConfig |
config |
protected Value |
metaspaceMethod |
static Register |
METHOD
Vtable stubs expect the metaspace Method in RBX.
|
static LIRInstructionClass<AMD64IndirectCallOp> |
TYPE |
targetAddress
callTarget
parameters, result, state, temps
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
AMD64IndirectCallOp(ResolvedJavaMethod targetMethod,
Value result,
Value[] parameters,
Value[] temps,
Value metaspaceMethod,
Value targetAddress,
LIRFrameState state,
HotSpotVMConfig config) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
void |
verify() |
destroysCallerSavedRegisters
emitCode
forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getLIRInstructionClass, hasOperands, hasState, id, name, setId, toString, toStringWithIdPrefix, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemp
public static final LIRInstructionClass<AMD64IndirectCallOp> TYPE
protected Value metaspaceMethod
private final HotSpotVMConfig config
AMD64IndirectCallOp(ResolvedJavaMethod targetMethod, Value result, Value[] parameters, Value[] temps, Value metaspaceMethod, Value targetAddress, LIRFrameState state, HotSpotVMConfig config)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64Call.IndirectCallOp
public void verify()
verify
in class AMD64Call.IndirectCallOp