public class AArch64SaveRegistersOp extends StandardOp.SaveRegistersOp
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
static LIRInstructionClass<AArch64SaveRegistersOp> |
TYPE |
savedRegisters, slotsADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
AArch64SaveRegistersOp(Register[] savedRegisters,
AllocatableValue[] savedRegisterLocations) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb) |
protected void |
saveRegister(CompilationResultBuilder crb,
AArch64MacroAssembler masm,
StackSlot result,
Register input) |
getMap, getSaveableRegisters, getSavedRegisters, getSlots, removeaddStackSlotsToTemporaries, destroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getComment, getLIRInstructionClass, getPosition, hashCode, hasOperands, hasState, id, isLoadConstantOp, isMoveOp, isValueMoveOp, name, needsClearUpperVectorRegisters, setComment, setId, setPosition, toString, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AArch64SaveRegistersOp> TYPE
public AArch64SaveRegistersOp(Register[] savedRegisters,
AllocatableValue[] savedRegisterLocations)
savedRegisters - the registers saved by this operation which may be subject to
pruningsavedRegisterLocations - the slots to which the registers are savedprotected void saveRegister(CompilationResultBuilder crb, AArch64MacroAssembler masm, StackSlot result, Register input)
public void emitCode(CompilationResultBuilder crb)
emitCode in class StandardOp.SaveRegistersOp