public static final class AMD64Move.CompareAndSwapOp 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 |
cmpValue |
protected AllocatableValue |
newValue |
protected AllocatableValue |
result |
static LIRInstructionClass<AMD64Move.CompareAndSwapOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
CompareAndSwapOp(Kind accessKind,
AllocatableValue result,
AMD64AddressValue address,
AllocatableValue cmpValue,
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.CompareAndSwapOp> TYPE
private final Kind accessKind
protected AllocatableValue result
protected AMD64AddressValue address
protected AllocatableValue cmpValue
protected AllocatableValue newValue
public CompareAndSwapOp(Kind accessKind, AllocatableValue result, AMD64AddressValue address, AllocatableValue cmpValue, AllocatableValue newValue)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64LIRInstruction