public static final class AMD64ControlFlow.TableSwitchOp 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 |
idxScratch |
protected Value |
index |
private int |
lowKey |
protected Value |
scratch |
private LabelRef[] |
targets |
static LIRInstructionClass<AMD64ControlFlow.TableSwitchOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
TableSwitchOp(int lowKey,
LabelRef defaultTarget,
LabelRef[] targets,
Value index,
Variable scratch,
Variable idxScratch) |
| 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.TableSwitchOp> TYPE
private final int lowKey
private final LabelRef defaultTarget
protected Value idxScratch
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64BlockEndOp