public static final class AMD64ControlFlow.StrategySwitchOp extends AMD64BlockEndOp
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
private LabelRef |
defaultTarget |
protected Value |
key |
protected JavaConstant[] |
keyConstants |
private LabelRef[] |
keyTargets |
protected Value |
scratch |
private SwitchStrategy |
strategy |
static LIRInstructionClass<AMD64ControlFlow.StrategySwitchOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
StrategySwitchOp(SwitchStrategy strategy,
LabelRef[] keyTargets,
LabelRef defaultTarget,
Value key,
Value scratch) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
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, visitEachTemppublic static final LIRInstructionClass<AMD64ControlFlow.StrategySwitchOp> TYPE
protected JavaConstant[] keyConstants
private final LabelRef[] keyTargets
private LabelRef defaultTarget
private final SwitchStrategy strategy
public StrategySwitchOp(SwitchStrategy strategy, LabelRef[] keyTargets, LabelRef defaultTarget, Value key, Value scratch)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64BlockEndOp