public static class AMD64ControlFlow.CmpBranchOp extends AMD64ControlFlow.BranchOp implements StandardOp.ImplicitNullCheck
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected LIRFrameState |
state |
static LIRInstructionClass<AMD64ControlFlow.CmpBranchOp> |
TYPE |
protected AllocatableValue |
x |
protected Value |
y |
condition, falseDestination, trueDestination, trueDestinationProbabilityADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
CmpBranchOp(AMD64BaseAssembler.OperandSize size,
AllocatableValue x,
Value y,
LIRFrameState state,
Condition cond,
LabelRef trueDestination,
LabelRef falseDestination,
double trueDestinationProbability) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
boolean |
makeNullCheckFor(Value value,
LIRFrameState nullCheckState,
int implicitNullCheckLimit) |
jccemitCodeaddStackSlotsToTemporaries, 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, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64ControlFlow.CmpBranchOp> TYPE
protected AllocatableValue x
protected Value y
protected LIRFrameState state
public CmpBranchOp(AMD64BaseAssembler.OperandSize size, AllocatableValue x, Value y, LIRFrameState state, Condition cond, LabelRef trueDestination, LabelRef falseDestination, double trueDestinationProbability)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64ControlFlow.BranchOppublic boolean makeNullCheckFor(Value value,
LIRFrameState nullCheckState,
int implicitNullCheckLimit)
makeNullCheckFor in interface StandardOp.ImplicitNullCheck