public static final class SPARCMove.CompareAndSwapOp extends SPARCLIRInstruction
SPARCLIRInstruction.SizeEstimate
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
protected AllocatableValue |
address |
protected AllocatableValue |
cmpValue |
protected AllocatableValue |
newValue |
protected AllocatableValue |
result |
static SPARCLIRInstruction.SizeEstimate |
SIZE |
static LIRInstructionClass<SPARCMove.CompareAndSwapOp> |
TYPE |
delayedControlTransfer
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
CompareAndSwapOp(AllocatableValue result,
AllocatableValue address,
AllocatableValue cmpValue,
AllocatableValue newValue) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb,
SPARCMacroAssembler masm) |
emitCode, estimateSize, leavesRegisterWindow, setDelayedControlTransfer
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<SPARCMove.CompareAndSwapOp> TYPE
public static final SPARCLIRInstruction.SizeEstimate SIZE
protected AllocatableValue result
protected AllocatableValue address
protected AllocatableValue cmpValue
protected AllocatableValue newValue
public CompareAndSwapOp(AllocatableValue result, AllocatableValue address, AllocatableValue cmpValue, AllocatableValue newValue)
public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm)
emitCode
in class SPARCLIRInstruction