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() |
emitCode
destroysCallerSavedRegisters, 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, visitEachTemp
public 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.MoveOp
public AllocatableValue getResult()
getResult
in interface StandardOp.MoveOp
public Register getScratchRegister()
public StackSlotValue getBackupSlot()
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64LIRInstruction