public final class InlineGuard 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 |
---|
InlineGuard() |
Modifier and Type | Method and Description |
---|---|
static boolean |
conforms(Instruction i)
InstructionFormat identification method for InlineGuard.
|
static boolean |
conforms(Operator o)
InstructionFormat identification method for InlineGuard.
|
static Instruction |
create(Operator o,
Operand Value,
Operand Guard,
Operand Goal,
BranchOperand Target,
BranchProfileOperand BranchProfile)
Create an instruction of the InlineGuard 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 Operand |
getClearGoal(Instruction i)
Get the operand called Goal from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearGuard(Instruction i)
Get the operand called Guard 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 |
getClearValue(Instruction i)
Get the operand called Value from the argument
instruction clearing its instruction pointer.
|
static Operand |
getGoal(Instruction i)
Get the operand called Goal from the
argument instruction.
|
static Operand |
getGuard(Instruction i)
Get the operand called Guard from the
argument instruction.
|
static BranchOperand |
getTarget(Instruction i)
Get the operand called Target from the
argument instruction.
|
static Operand |
getValue(Instruction i)
Get the operand called Value from the
argument instruction.
|
static boolean |
hasBranchProfile(Instruction i)
Does the argument instruction have a non-null
operand named BranchProfile?
|
static boolean |
hasGoal(Instruction i)
Does the argument instruction have a non-null
operand named Goal?
|
static boolean |
hasGuard(Instruction i)
Does the argument instruction have a non-null
operand named Guard?
|
static boolean |
hasTarget(Instruction i)
Does the argument instruction have a non-null
operand named Target?
|
static boolean |
hasValue(Instruction i)
Does the argument instruction have a non-null
operand named Value?
|
static int |
indexOfBranchProfile(Instruction i)
Return the index of the operand called BranchProfile
in the argument instruction.
|
static int |
indexOfGoal(Instruction i)
Return the index of the operand called Goal
in the argument instruction.
|
static int |
indexOfGuard(Instruction i)
Return the index of the operand called Guard
in the argument instruction.
|
static int |
indexOfTarget(Instruction i)
Return the index of the operand called Target
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 Guard,
Operand Goal,
BranchOperand Target,
BranchProfileOperand BranchProfile)
Mutate the argument instruction into an instruction of the
InlineGuard 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 |
setGoal(Instruction i,
Operand Goal)
Set the operand called Goal in the argument
instruction to the argument operand.
|
static void |
setGuard(Instruction i,
Operand Guard)
Set the operand called Guard 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 |
setValue(Instruction i,
Operand Value)
Set the operand called Value in the argument
instruction to the argument operand.
|
fail, fail
public InlineGuard()
public static boolean conforms(Instruction i)
i
- an instructiontrue
if the InstructionFormat of the argument
instruction is InlineGuard or false
if it is not.public static boolean conforms(Operator o)
o
- an instructiontrue
if the InstructionFormat of the argument
operator is InlineGuard 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 getGuard(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearGuard(Instruction i)
i
- the instruction to fetch the operand frompublic static void setGuard(Instruction i, Operand Guard)
i
- the instruction in which to store the operandGuard
- the operand to storepublic static int indexOfGuard(Instruction i)
i
- the instruction to access.public static boolean hasGuard(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Guard or false
if it does not.public static Operand getGoal(Instruction i)
i
- the instruction to fetch the operand frompublic static Operand getClearGoal(Instruction i)
i
- the instruction to fetch the operand frompublic static void setGoal(Instruction i, Operand Goal)
i
- the instruction in which to store the operandGoal
- the operand to storepublic static int indexOfGoal(Instruction i)
i
- the instruction to access.public static boolean hasGoal(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Goal 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, Operand Value, Operand Guard, Operand Goal, BranchOperand Target, BranchProfileOperand BranchProfile)
o
- the instruction's operatorValue
- the instruction's Value operandGuard
- the instruction's Guard operandGoal
- the instruction's Goal operandTarget
- the instruction's Target operandBranchProfile
- the instruction's BranchProfile operandpublic static Instruction mutate(Instruction i, Operator o, Operand Value, Operand Guard, Operand Goal, BranchOperand Target, BranchProfileOperand BranchProfile)
i
- the instruction to mutateo
- the instruction's operatorValue
- the instruction's Value operandGuard
- the instruction's Guard operandGoal
- the instruction's Goal operandTarget
- the instruction's Target operandBranchProfile
- the instruction's BranchProfile operand