public static class AMD64Binary.MemoryTwoOp extends AMD64LIRInstruction implements StandardOp.ImplicitNullCheck
AllocatableValue operand and one memory operand.LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected AllocatableValue |
result |
protected LIRFrameState |
state |
static LIRInstructionClass<AMD64Binary.MemoryTwoOp> |
TYPE |
protected AllocatableValue |
x |
protected AMD64AddressValue |
y |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
MemoryTwoOp(AMD64Assembler.AMD64RMOp opcode,
AMD64BaseAssembler.OperandSize size,
AllocatableValue result,
AllocatableValue x,
AMD64AddressValue y,
LIRFrameState state) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
AMD64Assembler.AMD64RMOp |
getOpcode() |
boolean |
makeNullCheckFor(Value value,
LIRFrameState nullCheckState,
int implicitNullCheckLimit) |
void |
verify() |
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, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64Binary.MemoryTwoOp> TYPE
protected AllocatableValue result
protected AllocatableValue x
protected AMD64AddressValue y
protected LIRFrameState state
public MemoryTwoOp(AMD64Assembler.AMD64RMOp opcode, AMD64BaseAssembler.OperandSize size, AllocatableValue result, AllocatableValue x, AMD64AddressValue y, LIRFrameState state)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64LIRInstructionpublic void verify()
verify in class LIRInstructionpublic boolean makeNullCheckFor(Value value,
LIRFrameState nullCheckState,
int implicitNullCheckLimit)
makeNullCheckFor in interface StandardOp.ImplicitNullCheckpublic AMD64Assembler.AMD64RMOp getOpcode()