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) |
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.TableSwitchOp> TYPE
private final int lowKey
private final LabelRef defaultTarget
protected Value idxScratch
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64BlockEndOp