public static class AMD64ControlFlow.StrategySwitchOp extends AMD64BlockEndOp
| Modifier and Type | Class and Description |
|---|---|
class |
AMD64ControlFlow.StrategySwitchOp.SwitchClosure |
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected AllocatableValue |
key |
protected Constant[] |
keyConstants |
protected AllocatableValue |
scratch |
protected SwitchStrategy |
strategy |
static LIRInstructionClass<AMD64ControlFlow.StrategySwitchOp> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS| Modifier | Constructor and Description |
|---|---|
protected |
StrategySwitchOp(LIRInstructionClass<? extends AMD64ControlFlow.StrategySwitchOp> c,
SwitchStrategy strategy,
LabelRef[] keyTargets,
LabelRef defaultTarget,
AllocatableValue key,
AllocatableValue scratch) |
|
StrategySwitchOp(SwitchStrategy strategy,
LabelRef[] keyTargets,
LabelRef defaultTarget,
AllocatableValue key,
AllocatableValue scratch) |
| Modifier and Type | Method and Description |
|---|---|
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
emitCodeaddStackSlotsToTemporaries, destroysCallerSavedRegisters, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getComment, getLIRInstructionClass, getPosition, hashCode, hasOperands, hasState, id, isLoadConstantOp, isMoveOp, isValueMoveOp, name, needsClearUpperVectorRegisters, setComment, setId, setPosition, toString, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemppublic static final LIRInstructionClass<AMD64ControlFlow.StrategySwitchOp> TYPE
protected final Constant[] keyConstants
protected AllocatableValue key
protected AllocatableValue scratch
protected final SwitchStrategy strategy
public StrategySwitchOp(SwitchStrategy strategy, LabelRef[] keyTargets, LabelRef defaultTarget, AllocatableValue key, AllocatableValue scratch)
protected StrategySwitchOp(LIRInstructionClass<? extends AMD64ControlFlow.StrategySwitchOp> c, SwitchStrategy strategy, LabelRef[] keyTargets, LabelRef defaultTarget, AllocatableValue key, AllocatableValue scratch)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode in class AMD64BlockEndOp