public final class AArch64ZeroMemoryOp extends AArch64LIRInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected Value |
addressValue |
protected Value |
addressValueTemp |
protected Value |
lengthValue |
protected Value |
lengthValueTemp |
static LIRInstructionClass<AArch64ZeroMemoryOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
AArch64ZeroMemoryOp(Value address,
Value length,
boolean isAligned,
boolean useDcZva,
int zvaLength)
Constructor of AArch64ZeroMemoryOp.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
emitCode(CompilationResultBuilder crb,
AArch64MacroAssembler masm) |
emitCodeaddStackSlotsToTemporaries, 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<AArch64ZeroMemoryOp> TYPE
protected Value addressValue
protected Value lengthValue
protected Value addressValueTemp
protected Value lengthValueTemp
public AArch64ZeroMemoryOp(Value address,
Value length,
boolean isAligned,
boolean useDcZva,
int zvaLength)
address - starting address of the memory chunk to be zeroed.length - size of the memory chunk to be zeroed, in bytes.isAligned - whether both address and size are aligned to 8 bytes.useDcZva - is DC ZVA instruction is able to use.zvaLength - the ZVA length info of current AArch64 CPU, negative value indicates length
is unknown at compile time.protected void emitCode(CompilationResultBuilder crb, AArch64MacroAssembler masm)
emitCode in class AArch64LIRInstruction