public final class LookupSwitch extends InstructionFormat
Instruction
contains
an explanation of the role of InstructionFormats in the
opt compiler's IR.ALoad_format, ALoad_traits, ARCH_INDEPENDENT_INSTR_FORMAT_END_format, AStore_format, AStore_traits, Athrow_format, Athrow_traits, Attempt_format, Attempt_traits, BBend_format, BBend_traits, Binary_format, Binary_traits, BooleanCmp_format, BooleanCmp_traits, BoundsCheck_format, BoundsCheck_traits, CacheOp_format, CacheOp_traits, Call_format, Call_traits, CondMove_format, CondMove_traits, Empty_format, Empty_traits, GetField_format, GetField_traits, GetStatic_format, GetStatic_traits, Goto_format, Goto_traits, GuardedBinary_format, GuardedBinary_traits, GuardedSet_format, GuardedSet_traits, GuardedUnary_format, GuardedUnary_traits, IfCmp_format, IfCmp_traits, IfCmp2_format, IfCmp2_traits, InlineGuard_format, InlineGuard_traits, InstanceOf_format, InstanceOf_traits, InstrumentedCounter_format, InstrumentedCounter_traits, Label_format, Label_traits, Load_format, Load_traits, LookupSwitch_format, LookupSwitch_traits, LowTableSwitch_format, LowTableSwitch_traits, MIN_OPERAND_ARRAY_LENGTH, MonitorOp_format, MonitorOp_traits, Move_format, Move_traits, Multianewarray_format, Multianewarray_traits, New_format, New_traits, NewArray_format, NewArray_traits, Nullary_format, Nullary_traits, NullCheck_format, NullCheck_traits, OsrBarrier_format, OsrBarrier_traits, OsrPoint_format, OsrPoint_traits, Phi_format, Phi_traits, Prepare_format, Prepare_traits, Prologue_format, Prologue_traits, PutField_format, PutField_traits, PutStatic_format, PutStatic_traits, Return_format, Return_traits, Store_format, Store_traits, StoreCheck_format, StoreCheck_traits, TableSwitch_format, TableSwitch_traits, Trap_format, Trap_traits, TrapIf_format, TrapIf_traits, TypeCheck_format, TypeCheck_traits, Unary_format, Unary_traits, Unassigned_format, ZeroCheck_format, ZeroCheck_traits
Constructor and Description |
---|
LookupSwitch() |
Modifier and Type | Method and Description |
---|---|
static boolean |
conforms(Instruction i)
InstructionFormat identification method for LookupSwitch.
|
static boolean |
conforms(Operator o)
InstructionFormat identification method for LookupSwitch.
|
static Instruction |
create(Operator o,
Operand Value,
Operand Unknown1,
Operand Unknown2,
BranchOperand Default,
BranchProfileOperand DefaultBranchProfile,
int numVarOps)
Create an instruction of the LookupSwitch instruction format.
|
static BranchProfileOperand |
getBranchProfile(Instruction i,
int k)
Get the k'th operand called BranchProfile from the
argument instruction.
|
static BranchProfileOperand |
getClearBranchProfile(Instruction i,
int k)
Get the k'th operand called BranchProfile from the argument
instruction clearing its instruction pointer.
|
static BranchOperand |
getClearDefault(Instruction i)
Get the operand called Default from the argument
instruction clearing its instruction pointer.
|
static BranchProfileOperand |
getClearDefaultBranchProfile(Instruction i)
Get the operand called DefaultBranchProfile from the argument
instruction clearing its instruction pointer.
|
static IntConstantOperand |
getClearMatch(Instruction i,
int k)
Get the k'th operand called Match from the argument
instruction clearing its instruction pointer.
|
static BranchOperand |
getClearTarget(Instruction i,
int k)
Get the k'th operand called Target from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearUnknown1(Instruction i)
Get the operand called Unknown1 from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearUnknown2(Instruction i)
Get the operand called Unknown2 from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearValue(Instruction i)
Get the operand called Value from the argument
instruction clearing its instruction pointer.
|
static BranchOperand |
getDefault(Instruction i)
Get the operand called Default from the
argument instruction.
|
static BranchProfileOperand |
getDefaultBranchProfile(Instruction i)
Get the operand called DefaultBranchProfile from the
argument instruction.
|
static IntConstantOperand |
getMatch(Instruction i,
int k)
Get the k'th operand called Match from the
argument instruction.
|
static int |
getNumberOfBranchProfiles(Instruction i)
How many variable-length operands called BranchProfiles
does the argument instruction have?
|
static int |
getNumberOfMatches(Instruction i)
How many variable-length operands called Matches
does the argument instruction have?
|
static int |
getNumberOfTargets(Instruction i)
How many variable-length operands called Targets
does the argument instruction have?
|
static BranchOperand |
getTarget(Instruction i,
int k)
Get the k'th operand called Target from the
argument instruction.
|
static Operand |
getUnknown1(Instruction i)
Get the operand called Unknown1 from the
argument instruction.
|
static Operand |
getUnknown2(Instruction i)
Get the operand called Unknown2 from the
argument instruction.
|
static Operand |
getValue(Instruction i)
Get the operand called Value from the
argument instruction.
|
static boolean |
hasBranchProfile(Instruction i,
int k)
Does the argument instruction have a non-null
k'th operand named BranchProfile?
|
static boolean |
hasBranchProfiles(Instruction i)
Does the argument instruction have any operands
named BranchProfile?
|
static boolean |
hasDefault(Instruction i)
Does the argument instruction have a non-null
operand named Default?
|
static boolean |
hasDefaultBranchProfile(Instruction i)
Does the argument instruction have a non-null
operand named DefaultBranchProfile?
|
static boolean |
hasMatch(Instruction i,
int k)
Does the argument instruction have a non-null
k'th operand named Match?
|
static boolean |
hasMatches(Instruction i)
Does the argument instruction have any Matches
operands?
|
static boolean |
hasTarget(Instruction i,
int k)
Does the argument instruction have a non-null
k'th operand named Target?
|
static boolean |
hasTargets(Instruction i)
Does the argument instruction have any operands
named Target?
|
static boolean |
hasUnknown1(Instruction i)
Does the argument instruction have a non-null
operand named Unknown1?
|
static boolean |
hasUnknown2(Instruction i)
Does the argument instruction have a non-null
operand named Unknown2?
|
static boolean |
hasValue(Instruction i)
Does the argument instruction have a non-null
operand named Value?
|
static int |
indexOfBranchProfile(Instruction i,
int k)
Return the index of the k'th operand called BranchProfile
in the argument instruction.
|
static int |
indexOfBranchProfiles(Instruction i)
Return the index of the first operand called BranchProfile
in the argument instruction.
|
static int |
indexOfDefault(Instruction i)
Return the index of the operand called Default
in the argument instruction.
|
static int |
indexOfDefaultBranchProfile(Instruction i)
Return the index of the operand called DefaultBranchProfile
in the argument instruction.
|
static int |
indexOfMatch(Instruction i,
int k)
Return the index of the k'th operand called Match
in the argument instruction.
|
static int |
indexOfMatches(Instruction i)
Return the index of the first operand called Matches
in the argument instruction.
|
static int |
indexOfTarget(Instruction i,
int k)
Return the index of the k'th operand called Target
in the argument instruction.
|
static int |
indexOfTargets(Instruction i)
Return the index of the first operand called Target
in the argument instruction.
|
static int |
indexOfUnknown1(Instruction i)
Return the index of the operand called Unknown1
in the argument instruction.
|
static int |
indexOfUnknown2(Instruction i)
Return the index of the operand called Unknown2
in the argument instruction.
|
static int |
indexOfValue(Instruction i)
Return the index of the operand called Value
in the argument instruction.
|
static Instruction |
mutate(Instruction i,
Operator o,
Operand Value,
Operand Unknown1,
Operand Unknown2,
BranchOperand Default,
BranchProfileOperand DefaultBranchProfile,
int numVarOps)
Mutate the argument instruction into an instruction of the
LookupSwitch instruction format having the specified
operator and operands.
|
static void |
resizeNumberOfBranchProfiles(Instruction i,
int numVarOps)
Change the number of BranchProfiles that may be stored in
the argument instruction to numVarOps.
|
static void |
resizeNumberOfMatches(Instruction i,
int numVarOps)
Change the number of Matches operands that may be stored in
the argument instruction to numVarOps.
|
static void |
resizeNumberOfTargets(Instruction i,
int numVarOps)
Change the number of Targets that may be stored in
the argument instruction to numVarOps.
|
static void |
setBranchProfile(Instruction i,
int k,
BranchProfileOperand o)
Set the k'th operand called BranchProfile in the argument
instruction to the argument operand.
|
static void |
setDefault(Instruction i,
BranchOperand Default)
Set the operand called Default in the argument
instruction to the argument operand.
|
static void |
setDefaultBranchProfile(Instruction i,
BranchProfileOperand DefaultBranchProfile)
Set the operand called DefaultBranchProfile in the argument
instruction to the argument operand.
|
static void |
setMatch(Instruction i,
int k,
IntConstantOperand o)
Set the k'th operand called Match in the argument
instruction to the argument operand.
|
static void |
setTarget(Instruction i,
int k,
BranchOperand o)
Set the k'th operand called Target in the argument
instruction to the argument operand.
|
static void |
setUnknown1(Instruction i,
Operand Unknown1)
Set the operand called Unknown1 in the argument
instruction to the argument operand.
|
static void |
setUnknown2(Instruction i,
Operand Unknown2)
Set the operand called Unknown2 in the argument
instruction to the argument operand.
|
static void |
setValue(Instruction i,
Operand Value)
Set the operand called Value in the argument
instruction to the argument operand.
|
fail, fail
public LookupSwitch()
public static boolean conforms(Instruction i)
i
- an instructiontrue
if the InstructionFormat of the argument
instruction is LookupSwitch or false
if it is not.public static boolean conforms(Operator o)
o
- an instructiontrue
if the InstructionFormat of the argument
operator is LookupSwitch or false
if it is not.public static Operand getValue(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearValue(Instruction i)
i
- the instruction to fetch the operand frompublic static void setValue(Instruction i, Operand Value)
i
- the instruction in which to store the operandValue
- the operand to storepublic static int indexOfValue(Instruction i)
i
- the instruction to access.public static boolean hasValue(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Value or false
if it does not.public static Operand getUnknown1(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearUnknown1(Instruction i)
i
- the instruction to fetch the operand frompublic static void setUnknown1(Instruction i, Operand Unknown1)
i
- the instruction in which to store the operandUnknown1
- the operand to storepublic static int indexOfUnknown1(Instruction i)
i
- the instruction to access.public static boolean hasUnknown1(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Unknown1 or false
if it does not.public static Operand getUnknown2(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearUnknown2(Instruction i)
i
- the instruction to fetch the operand frompublic static void setUnknown2(Instruction i, Operand Unknown2)
i
- the instruction in which to store the operandUnknown2
- the operand to storepublic static int indexOfUnknown2(Instruction i)
i
- the instruction to access.public static boolean hasUnknown2(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Unknown2 or false
if it does not.public static BranchOperand getDefault(Instruction i)
i
- the instruction to fetch the operand frompublic static BranchOperand getClearDefault(Instruction i)
i
- the instruction to fetch the operand frompublic static void setDefault(Instruction i, BranchOperand Default)
i
- the instruction in which to store the operandDefault
- the operand to storepublic static int indexOfDefault(Instruction i)
i
- the instruction to access.public static boolean hasDefault(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Default or false
if it does not.public static BranchProfileOperand getDefaultBranchProfile(Instruction i)
i
- the instruction to fetch the operand frompublic static BranchProfileOperand getClearDefaultBranchProfile(Instruction i)
i
- the instruction to fetch the operand frompublic static void setDefaultBranchProfile(Instruction i, BranchProfileOperand DefaultBranchProfile)
i
- the instruction in which to store the operandDefaultBranchProfile
- the operand to storepublic static int indexOfDefaultBranchProfile(Instruction i)
i
- the instruction to access.public static boolean hasDefaultBranchProfile(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named DefaultBranchProfile or false
if it does not.public static IntConstantOperand getMatch(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static IntConstantOperand getClearMatch(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static void setMatch(Instruction i, int k, IntConstantOperand o)
i
- the instruction in which to store the operandk
- the index of the operando
- the operand to storepublic static int indexOfMatch(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.public static boolean hasMatch(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.true
if the instruction has an non-null
k'th operand named Match or false
if it does not.public static int indexOfMatches(Instruction i)
i
- the instruction to access.public static boolean hasMatches(Instruction i)
i
- the instruction to access.true
if the instruction has
Matches operands or false
if it does not.public static int getNumberOfMatches(Instruction i)
i
- the instruction to accesspublic static void resizeNumberOfMatches(Instruction i, int numVarOps)
i
- the instruction to accessnumVarOps
- the new number of variable operands called Matches
that may be stored in the instructionpublic static BranchOperand getTarget(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static BranchOperand getClearTarget(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static void setTarget(Instruction i, int k, BranchOperand o)
i
- the instruction in which to store the operandk
- the index of the operando
- the operand to storepublic static int indexOfTarget(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.public static boolean hasTarget(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.true
if the instruction has an non-null
k'th operand named Target or false
if it does not.public static int indexOfTargets(Instruction i)
i
- the instruction to access.public static boolean hasTargets(Instruction i)
i
- the instruction to access.true
if the instruction has operands
named Target or false
if it does not.public static int getNumberOfTargets(Instruction i)
i
- the instruction to accesspublic static void resizeNumberOfTargets(Instruction i, int numVarOps)
i
- the instruction to accessnumVarOps
- the new number of variable operands called Targets
that may be stored in the instructionpublic static BranchProfileOperand getBranchProfile(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static BranchProfileOperand getClearBranchProfile(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static void setBranchProfile(Instruction i, int k, BranchProfileOperand o)
i
- the instruction in which to store the operandk
- the index of the operando
- the operand to storepublic static int indexOfBranchProfile(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.public static boolean hasBranchProfile(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.true
if the instruction has an non-null
k'th operand named BranchProfile or false
if it does not.public static int indexOfBranchProfiles(Instruction i)
i
- the instruction to access.public static boolean hasBranchProfiles(Instruction i)
i
- the instruction to access.true
if the instruction has operands
named BranchProfile or false
if it does not.public static int getNumberOfBranchProfiles(Instruction i)
i
- the instruction to accesspublic static void resizeNumberOfBranchProfiles(Instruction i, int numVarOps)
i
- the instruction to accessnumVarOps
- the new number of variable operands called BranchProfiles
that may be stored in the instructionpublic static Instruction create(Operator o, Operand Value, Operand Unknown1, Operand Unknown2, BranchOperand Default, BranchProfileOperand DefaultBranchProfile, int numVarOps)
o
- the instruction's operatorValue
- the instruction's Value operandUnknown1
- the instruction's Unknown1 operandUnknown2
- the instruction's Unknown2 operandDefault
- the instruction's Default operandDefaultBranchProfile
- the instruction's DefaultBranchProfile operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction mutate(Instruction i, Operator o, Operand Value, Operand Unknown1, Operand Unknown2, BranchOperand Default, BranchProfileOperand DefaultBranchProfile, int numVarOps)
i
- the instruction to mutateo
- the instruction's operatorValue
- the instruction's Value operandUnknown1
- the instruction's Unknown1 operandUnknown2
- the instruction's Unknown2 operandDefault
- the instruction's Default operandDefaultBranchProfile
- the instruction's DefaultBranchProfile operandnumVarOps
- the number of variable length operands that
will be stored in the instruction.