public final class AMD64ZapRegistersOp extends AMD64LIRInstruction implements StandardOp.SaveRegistersOp
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
static LIRInstructionClass<AMD64ZapRegistersOp> |
TYPE |
protected Register[] |
zappedRegisters
The registers that are zapped.
|
protected JavaConstant[] |
zapValues
The garbage values that are written to the registers.
|
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
AMD64ZapRegistersOp(Register[] zappedRegisters,
JavaConstant[] zapValues) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
RegisterSaveLayout |
getMap(FrameMap frameMap) |
int |
remove(Set<Register> doNotSave) |
boolean |
supportsRemove() |
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<AMD64ZapRegistersOp> TYPE
protected final Register[] zappedRegisters
protected JavaConstant[] zapValues
public AMD64ZapRegistersOp(Register[] zappedRegisters, JavaConstant[] zapValues)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64LIRInstruction
public boolean supportsRemove()
supportsRemove
in interface StandardOp.SaveRegistersOp
public int remove(Set<Register> doNotSave)
remove
in interface StandardOp.SaveRegistersOp
public RegisterSaveLayout getMap(FrameMap frameMap)
getMap
in interface StandardOp.SaveRegistersOp