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 |
targetAddresscallTargetparameters, result, state, tempsADDRESS_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() |
destroysCallerSavedRegistersemitCodeforEachAlive, 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, visitEachTemppublic 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.IndirectCallOppublic void verify()
verify in class AMD64Call.IndirectCallOp