public static class AMD64ControlFlow.BranchOp extends AMD64BlockEndOp implements StandardOp.BranchOp
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
protected AMD64Assembler.ConditionFlag |
condition |
protected LabelRef |
falseDestination |
protected LabelRef |
trueDestination |
private double |
trueDestinationProbability |
static LIRInstructionClass<AMD64ControlFlow.BranchOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS
Modifier | Constructor and Description |
---|---|
|
BranchOp(AMD64Assembler.ConditionFlag condition,
LabelRef trueDestination,
LabelRef falseDestination,
double trueDestinationProbability) |
|
BranchOp(Condition condition,
LabelRef trueDestination,
LabelRef falseDestination,
double trueDestinationProbability) |
protected |
BranchOp(LIRInstructionClass<? extends AMD64ControlFlow.BranchOp> c,
AMD64Assembler.ConditionFlag condition,
LabelRef trueDestination,
LabelRef falseDestination,
double trueDestinationProbability) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
protected void |
jcc(AMD64MacroAssembler masm,
boolean negate,
LabelRef target) |
emitCode
addOutgoingValues, clearOutgoingValues, getOutgoingSize, getOutgoingValue, setOutgoingValues
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addOutgoingValues, clearOutgoingValues, getOutgoingSize, getOutgoingValue, setOutgoingValues
public static final LIRInstructionClass<AMD64ControlFlow.BranchOp> TYPE
protected final AMD64Assembler.ConditionFlag condition
protected final LabelRef trueDestination
protected final LabelRef falseDestination
private final double trueDestinationProbability
public BranchOp(Condition condition, LabelRef trueDestination, LabelRef falseDestination, double trueDestinationProbability)
public BranchOp(AMD64Assembler.ConditionFlag condition, LabelRef trueDestination, LabelRef falseDestination, double trueDestinationProbability)
protected BranchOp(LIRInstructionClass<? extends AMD64ControlFlow.BranchOp> c, AMD64Assembler.ConditionFlag condition, LabelRef trueDestination, LabelRef falseDestination, double trueDestinationProbability)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64BlockEndOp
protected void jcc(AMD64MacroAssembler masm, boolean negate, LabelRef target)