public final class IfCmp 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 |
---|
IfCmp() |
Modifier and Type | Method and Description |
---|---|
static boolean |
conforms(Instruction i)
InstructionFormat identification method for IfCmp.
|
static boolean |
conforms(Operator o)
InstructionFormat identification method for IfCmp.
|
static Instruction |
create(Operator o,
RegisterOperand GuardResult,
Operand Val1,
Operand Val2,
ConditionOperand Cond,
BranchOperand Target,
BranchProfileOperand BranchProfile)
Create an instruction of the IfCmp instruction format.
|
static BranchProfileOperand |
getBranchProfile(Instruction i)
Get the operand called BranchProfile from the
argument instruction.
|
static BranchProfileOperand |
getClearBranchProfile(Instruction i)
Get the operand called BranchProfile from the argument
instruction clearing its instruction pointer.
|
static ConditionOperand |
getClearCond(Instruction i)
Get the operand called Cond from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearGuardResult(Instruction i)
Get the operand called GuardResult from the argument
instruction clearing its instruction pointer.
|
static BranchOperand |
getClearTarget(Instruction i)
Get the operand called Target from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearVal1(Instruction i)
Get the operand called Val1 from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearVal2(Instruction i)
Get the operand called Val2 from the argument
instruction clearing its instruction pointer.
|
static ConditionOperand |
getCond(Instruction i)
Get the operand called Cond from the
argument instruction.
|
static RegisterOperand |
getGuardResult(Instruction i)
Get the operand called GuardResult from the
argument instruction.
|
static BranchOperand |
getTarget(Instruction i)
Get the operand called Target from the
argument instruction.
|
static Operand |
getVal1(Instruction i)
Get the operand called Val1 from the
argument instruction.
|
static Operand |
getVal2(Instruction i)
Get the operand called Val2 from the
argument instruction.
|
static boolean |
hasBranchProfile(Instruction i)
Does the argument instruction have a non-null
operand named BranchProfile?
|
static boolean |
hasCond(Instruction i)
Does the argument instruction have a non-null
operand named Cond?
|
static boolean |
hasGuardResult(Instruction i)
Does the argument instruction have a non-null
operand named GuardResult?
|
static boolean |
hasTarget(Instruction i)
Does the argument instruction have a non-null
operand named Target?
|
static boolean |
hasVal1(Instruction i)
Does the argument instruction have a non-null
operand named Val1?
|
static boolean |
hasVal2(Instruction i)
Does the argument instruction have a non-null
operand named Val2?
|
static int |
indexOfBranchProfile(Instruction i)
Return the index of the operand called BranchProfile
in the argument instruction.
|
static int |
indexOfCond(Instruction i)
Return the index of the operand called Cond
in the argument instruction.
|
static int |
indexOfGuardResult(Instruction i)
Return the index of the operand called GuardResult
in the argument instruction.
|
static int |
indexOfTarget(Instruction i)
Return the index of the operand called Target
in the argument instruction.
|
static int |
indexOfVal1(Instruction i)
Return the index of the operand called Val1
in the argument instruction.
|
static int |
indexOfVal2(Instruction i)
Return the index of the operand called Val2
in the argument instruction.
|
static Instruction |
mutate(Instruction i,
Operator o,
RegisterOperand GuardResult,
Operand Val1,
Operand Val2,
ConditionOperand Cond,
BranchOperand Target,
BranchProfileOperand BranchProfile)
Mutate the argument instruction into an instruction of the
IfCmp instruction format having the specified
operator and operands.
|
static void |
setBranchProfile(Instruction i,
BranchProfileOperand BranchProfile)
Set the operand called BranchProfile in the argument
instruction to the argument operand.
|
static void |
setCond(Instruction i,
ConditionOperand Cond)
Set the operand called Cond in the argument
instruction to the argument operand.
|
static void |
setGuardResult(Instruction i,
RegisterOperand GuardResult)
Set the operand called GuardResult in the argument
instruction to the argument operand.
|
static void |
setTarget(Instruction i,
BranchOperand Target)
Set the operand called Target in the argument
instruction to the argument operand.
|
static void |
setVal1(Instruction i,
Operand Val1)
Set the operand called Val1 in the argument
instruction to the argument operand.
|
static void |
setVal2(Instruction i,
Operand Val2)
Set the operand called Val2 in the argument
instruction to the argument operand.
|
fail, fail
public IfCmp()
public static boolean conforms(Instruction i)
i
- an instructiontrue
if the InstructionFormat of the argument
instruction is IfCmp or false
if it is not.public static boolean conforms(Operator o)
o
- an instructiontrue
if the InstructionFormat of the argument
operator is IfCmp or false
if it is not.public static RegisterOperand getGuardResult(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearGuardResult(Instruction i)
i
- the instruction to fetch the operand frompublic static void setGuardResult(Instruction i, RegisterOperand GuardResult)
i
- the instruction in which to store the operandGuardResult
- the operand to storepublic static int indexOfGuardResult(Instruction i)
i
- the instruction to access.public static boolean hasGuardResult(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named GuardResult or false
if it does not.public static Operand getVal1(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearVal1(Instruction i)
i
- the instruction to fetch the operand frompublic static void setVal1(Instruction i, Operand Val1)
i
- the instruction in which to store the operandVal1
- the operand to storepublic static int indexOfVal1(Instruction i)
i
- the instruction to access.public static boolean hasVal1(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Val1 or false
if it does not.public static Operand getVal2(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearVal2(Instruction i)
i
- the instruction to fetch the operand frompublic static void setVal2(Instruction i, Operand Val2)
i
- the instruction in which to store the operandVal2
- the operand to storepublic static int indexOfVal2(Instruction i)
i
- the instruction to access.public static boolean hasVal2(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Val2 or false
if it does not.public static ConditionOperand getCond(Instruction i)
i
- the instruction to fetch the operand frompublic static ConditionOperand getClearCond(Instruction i)
i
- the instruction to fetch the operand frompublic static void setCond(Instruction i, ConditionOperand Cond)
i
- the instruction in which to store the operandCond
- the operand to storepublic static int indexOfCond(Instruction i)
i
- the instruction to access.public static boolean hasCond(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Cond or false
if it does not.public static BranchOperand getTarget(Instruction i)
i
- the instruction to fetch the operand frompublic static BranchOperand getClearTarget(Instruction i)
i
- the instruction to fetch the operand frompublic static void setTarget(Instruction i, BranchOperand Target)
i
- the instruction in which to store the operandTarget
- the operand to storepublic static int indexOfTarget(Instruction i)
i
- the instruction to access.public static boolean hasTarget(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Target or false
if it does not.public static BranchProfileOperand getBranchProfile(Instruction i)
i
- the instruction to fetch the operand frompublic static BranchProfileOperand getClearBranchProfile(Instruction i)
i
- the instruction to fetch the operand frompublic static void setBranchProfile(Instruction i, BranchProfileOperand BranchProfile)
i
- the instruction in which to store the operandBranchProfile
- the operand to storepublic static int indexOfBranchProfile(Instruction i)
i
- the instruction to access.public static boolean hasBranchProfile(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named BranchProfile or false
if it does not.public static Instruction create(Operator o, RegisterOperand GuardResult, Operand Val1, Operand Val2, ConditionOperand Cond, BranchOperand Target, BranchProfileOperand BranchProfile)
o
- the instruction's operatorGuardResult
- the instruction's GuardResult operandVal1
- the instruction's Val1 operandVal2
- the instruction's Val2 operandCond
- the instruction's Cond operandTarget
- the instruction's Target operandBranchProfile
- the instruction's BranchProfile operandpublic static Instruction mutate(Instruction i, Operator o, RegisterOperand GuardResult, Operand Val1, Operand Val2, ConditionOperand Cond, BranchOperand Target, BranchProfileOperand BranchProfile)
i
- the instruction to mutateo
- the instruction's operatorGuardResult
- the instruction's GuardResult operandVal1
- the instruction's Val1 operandVal2
- the instruction's Val2 operandCond
- the instruction's Cond operandTarget
- the instruction's Target operandBranchProfile
- the instruction's BranchProfile operand