public static final class SPARCControlFlow.TableSwitchOp extends SPARCBlockEndOp
SPARCLIRInstruction.SizeEstimate
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 |
index |
private int |
lowKey |
protected Value |
scratch |
private LabelRef[] |
targets |
static LIRInstructionClass<SPARCControlFlow.TableSwitchOp> |
TYPE |
delayedControlTransfer
ADDRESS_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, setOutgoingValues
emitCode, leavesRegisterWindow, setDelayedControlTransfer
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<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 SPARCLIRInstruction
public SPARCLIRInstruction.SizeEstimate estimateSize()
estimateSize
in class SPARCLIRInstruction