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) |
emitCodedestroysCallerSavedRegisters, 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, visitEachTemppublic 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