public static final class AMD64Move.AMD64StackMove extends AMD64LIRInstruction implements StandardOp.MoveOp
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
private StackSlotValue |
backupSlot |
protected Value |
input |
protected AllocatableValue |
result |
private Register |
scratch |
static LIRInstructionClass<AMD64Move.AMD64StackMove> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
AMD64StackMove(AllocatableValue result,
Value input,
Register scratch,
StackSlotValue backupSlot) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
StackSlotValue |
getBackupSlot() |
Value |
getInput() |
AllocatableValue |
getResult() |
Register |
getScratchRegister() |
emitCodedestroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getLIRInstructionClass, hasOperands, hasState, id, name, setId, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64Move.AMD64StackMove> TYPE
protected AllocatableValue result
private StackSlotValue backupSlot
public AMD64StackMove(AllocatableValue result, Value input, Register scratch, StackSlotValue backupSlot)
public Value getInput()
getInput in interface StandardOp.MoveOppublic AllocatableValue getResult()
getResult in interface StandardOp.MoveOppublic Register getScratchRegister()
public StackSlotValue getBackupSlot()
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64LIRInstruction