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) |
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
public 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