public static final class AMD64Move.AtomicReadAndWriteOp extends AMD64LIRInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
private Kind |
accessKind |
protected AMD64AddressValue |
address |
protected AllocatableValue |
newValue |
protected AllocatableValue |
result |
static LIRInstructionClass<AMD64Move.AtomicReadAndWriteOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
AtomicReadAndWriteOp(Kind accessKind,
AllocatableValue result,
AMD64AddressValue address,
AllocatableValue newValue) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
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.AtomicReadAndWriteOp> TYPE
private final Kind accessKind
protected AllocatableValue result
protected AMD64AddressValue address
protected AllocatableValue newValue
public AtomicReadAndWriteOp(Kind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue newValue)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64LIRInstruction