public static final class SPARCControlFlow.TableSwitchOp extends SPARCBlockEndOp
SPARCLIRInstruction.SizeEstimateLIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
private LabelRef |
defaultTarget |
protected Value |
index |
private int |
lowKey |
protected Value |
scratch |
private LabelRef[] |
targets |
static LIRInstructionClass<SPARCControlFlow.TableSwitchOp> |
TYPE |
delayedControlTransferADDRESS_FLAGS, ALLOWED_FLAGS| Constructor and Description |
|---|
TableSwitchOp(int lowKey,
LabelRef defaultTarget,
LabelRef[] targets,
Variable index,
Variable scratch) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
SPARCMacroAssembler masm) |
SPARCLIRInstruction.SizeEstimate |
estimateSize() |
addOutgoingValues, clearOutgoingValues, getOutgoingSize, getOutgoingValue, setOutgoingValuesemitCode, leavesRegisterWindow, setDelayedControlTransferdestroysCallerSavedRegisters, 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<SPARCControlFlow.TableSwitchOp> TYPE
private final int lowKey
private final LabelRef defaultTarget
public TableSwitchOp(int lowKey, LabelRef defaultTarget, LabelRef[] targets, Variable index, Variable scratch)
public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm)
emitCode in class SPARCLIRInstructionpublic SPARCLIRInstruction.SizeEstimate estimateSize()
estimateSize in class SPARCLIRInstruction