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) |
emitCodeaddOutgoingValues, clearOutgoingValues, getOutgoingSize, getOutgoingValue, setOutgoingValuesdestroysCallerSavedRegisters, 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, visitEachTempclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddOutgoingValues, clearOutgoingValues, getOutgoingSize, getOutgoingValue, setOutgoingValuespublic 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 AMD64BlockEndOpprotected void jcc(AMD64MacroAssembler masm, boolean negate, LabelRef target)