public final class MIR_Call extends ArchInstructionFormat
Instruction
contains
an explanation of the role of InstructionFormats in the
opt compiler's IR.MIR_Binary_format, MIR_Binary_traits, MIR_Branch_format, MIR_Branch_traits, MIR_CacheOp_format, MIR_CacheOp_traits, MIR_Call_format, MIR_Call_traits, MIR_CondBranch_format, MIR_CondBranch_traits, MIR_CondBranch2_format, MIR_CondBranch2_traits, MIR_CondCall_format, MIR_CondCall_traits, MIR_Condition_format, MIR_Condition_traits, MIR_DataInt_format, MIR_DataInt_traits, MIR_DataLabel_format, MIR_DataLabel_traits, MIR_Empty_format, MIR_Empty_traits, MIR_Load_format, MIR_Load_traits, MIR_LoadUpdate_format, MIR_LoadUpdate_traits, MIR_LowTableSwitch_format, MIR_LowTableSwitch_traits, MIR_Move_format, MIR_Move_traits, MIR_Nullary_format, MIR_Nullary_traits, MIR_Return_format, MIR_Return_traits, MIR_RotateAndMask_format, MIR_RotateAndMask_traits, MIR_Store_format, MIR_Store_traits, MIR_StoreUpdate_format, MIR_StoreUpdate_traits, MIR_Ternary_format, MIR_Ternary_traits, MIR_Trap_format, MIR_Trap_traits, MIR_Unary_format, MIR_Unary_traits
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 |
---|
MIR_Call() |
Modifier and Type | Method and Description |
---|---|
static boolean |
conforms(Instruction i)
InstructionFormat identification method for MIR_Call.
|
static boolean |
conforms(Operator o)
InstructionFormat identification method for MIR_Call.
|
static Instruction |
create(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target,
int numVarOps)
Create an instruction of the MIR_Call instruction format.
|
static Instruction |
create(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target,
MethodOperand Method,
int numVarOps)
Create an instruction of the MIR_Call instruction format.
|
static Instruction |
create(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
int numVarOps)
Create an instruction of the MIR_Call instruction format.
|
static Instruction |
create(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
MethodOperand Method,
int numVarOps)
Create an instruction of the MIR_Call instruction format.
|
static Instruction |
create0(Operator o,
RegisterOperand Result,
RegisterOperand Result2)
Create an instruction of the MIR_Call instruction format
with 0 variable arguments.
|
static Instruction |
create0(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target)
Create an instruction of the MIR_Call instruction format
with 0 variable arguments.
|
static Instruction |
create0(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target,
MethodOperand Method)
Create an instruction of the MIR_Call instruction format
with 0 variable arguments.
|
static Instruction |
create0(Operator o,
RegisterOperand Result,
RegisterOperand Result2,
MethodOperand Method)
Create an instruction of the MIR_Call instruction format
with 0 variable arguments.
|
static MethodOperand |
getClearMethod(Instruction i)
Get the operand called Method from the argument
instruction clearing its instruction pointer.
|
static Operand |
getClearParam(Instruction i,
int k)
Get the k'th operand called Param from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearResult(Instruction i)
Get the operand called Result from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearResult2(Instruction i)
Get the operand called Result2 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 MethodOperand |
getMethod(Instruction i)
Get the operand called Method from the
argument instruction.
|
static int |
getNumberOfParams(Instruction i)
How many variable-length operands called Params
does the argument instruction have?
|
static Operand |
getParam(Instruction i,
int k)
Get the k'th operand called Param from the
argument instruction.
|
static RegisterOperand |
getResult(Instruction i)
Get the operand called Result from the
argument instruction.
|
static RegisterOperand |
getResult2(Instruction i)
Get the operand called Result2 from the
argument instruction.
|
static BranchOperand |
getTarget(Instruction i)
Get the operand called Target from the
argument instruction.
|
static boolean |
hasMethod(Instruction i)
Does the argument instruction have a non-null
operand named Method?
|
static boolean |
hasParam(Instruction i,
int k)
Does the argument instruction have a non-null
k'th operand named Param?
|
static boolean |
hasParams(Instruction i)
Does the argument instruction have any operands
named Param?
|
static boolean |
hasResult(Instruction i)
Does the argument instruction have a non-null
operand named Result?
|
static boolean |
hasResult2(Instruction i)
Does the argument instruction have a non-null
operand named Result2?
|
static boolean |
hasTarget(Instruction i)
Does the argument instruction have a non-null
operand named Target?
|
static int |
indexOfMethod(Instruction i)
Return the index of the operand called Method
in the argument instruction.
|
static int |
indexOfParam(Instruction i,
int k)
Return the index of the k'th operand called Param
in the argument instruction.
|
static int |
indexOfParams(Instruction i)
Return the index of the first operand called Param
in the argument instruction.
|
static int |
indexOfResult(Instruction i)
Return the index of the operand called Result
in the argument instruction.
|
static int |
indexOfResult2(Instruction i)
Return the index of the operand called Result2
in the argument instruction.
|
static int |
indexOfTarget(Instruction i)
Return the index of the operand called Target
in the argument instruction.
|
static Instruction |
mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target,
int numVarOps)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator and operands.
|
static Instruction |
mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target,
MethodOperand Method,
int numVarOps)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator and operands.
|
static Instruction |
mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
int numVarOps)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator and operands.
|
static Instruction |
mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
MethodOperand Method,
int numVarOps)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator and operands.
|
static Instruction |
mutate0(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator, operands, and number of variable-length operands.
|
static Instruction |
mutate0(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator, operands, and number of variable-length operands.
|
static Instruction |
mutate0(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
BranchOperand Target,
MethodOperand Method)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator, operands, and number of variable-length operands.
|
static Instruction |
mutate0(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Result2,
MethodOperand Method)
Mutate the argument instruction into an instruction of the
MIR_Call instruction format having the specified
operator, operands, and number of variable-length operands.
|
static void |
resizeNumberOfParams(Instruction i,
int numVarOps)
Change the number of Params that may be stored in
the argument instruction to numVarOps.
|
static void |
setMethod(Instruction i,
MethodOperand Method)
Set the operand called Method in the argument
instruction to the argument operand.
|
static void |
setParam(Instruction i,
int k,
Operand o)
Set the k'th operand called Param in the argument
instruction to the argument operand.
|
static void |
setResult(Instruction i,
RegisterOperand Result)
Set the operand called Result in the argument
instruction to the argument operand.
|
static void |
setResult2(Instruction i,
RegisterOperand Result2)
Set the operand called Result2 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.
|
fail, fail
public MIR_Call()
public static boolean conforms(Instruction i)
i
- an instructiontrue
if the InstructionFormat of the argument
instruction is MIR_Call or false
if it is not.public static boolean conforms(Operator o)
o
- an instructiontrue
if the InstructionFormat of the argument
operator is MIR_Call or false
if it is not.public static RegisterOperand getResult(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearResult(Instruction i)
i
- the instruction to fetch the operand frompublic static void setResult(Instruction i, RegisterOperand Result)
i
- the instruction in which to store the operandResult
- the operand to storepublic static int indexOfResult(Instruction i)
i
- the instruction to access.public static boolean hasResult(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Result or false
if it does not.public static RegisterOperand getResult2(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearResult2(Instruction i)
i
- the instruction to fetch the operand frompublic static void setResult2(Instruction i, RegisterOperand Result2)
i
- the instruction in which to store the operandResult2
- the operand to storepublic static int indexOfResult2(Instruction i)
i
- the instruction to access.public static boolean hasResult2(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Result2 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 MethodOperand getMethod(Instruction i)
i
- the instruction to fetch the operand frompublic static MethodOperand getClearMethod(Instruction i)
i
- the instruction to fetch the operand frompublic static void setMethod(Instruction i, MethodOperand Method)
i
- the instruction in which to store the operandMethod
- the operand to storepublic static int indexOfMethod(Instruction i)
i
- the instruction to access.public static boolean hasMethod(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named Method or false
if it does not.public static Operand getParam(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static Operand getClearParam(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operandpublic static void setParam(Instruction i, int k, Operand o)
i
- the instruction in which to store the operandk
- the index of the operando
- the operand to storepublic static int indexOfParam(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.public static boolean hasParam(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 Param or false
if it does not.public static int indexOfParams(Instruction i)
i
- the instruction to access.public static boolean hasParams(Instruction i)
i
- the instruction to access.true
if the instruction has operands
named Param or false
if it does not.public static int getNumberOfParams(Instruction i)
i
- the instruction to accesspublic static void resizeNumberOfParams(Instruction i, int numVarOps)
i
- the instruction to accessnumVarOps
- the new number of variable operands called Params
that may be stored in the instructionpublic static Instruction create(Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target, MethodOperand Method, int numVarOps)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandMethod
- the instruction's Method operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction create0(Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target, MethodOperand Method)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandMethod
- the instruction's Method operandpublic static Instruction mutate(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target, MethodOperand Method, int numVarOps)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandMethod
- the instruction's Method operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction mutate0(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target, MethodOperand Method)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandMethod
- the instruction's Method operandpublic static Instruction create(Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target, int numVarOps)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction create0(Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandpublic static Instruction mutate(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target, int numVarOps)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction mutate0(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, BranchOperand Target)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandTarget
- the instruction's Target operandpublic static Instruction create(Operator o, RegisterOperand Result, RegisterOperand Result2, MethodOperand Method, int numVarOps)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandMethod
- the instruction's Method operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction create0(Operator o, RegisterOperand Result, RegisterOperand Result2, MethodOperand Method)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandMethod
- the instruction's Method operandpublic static Instruction mutate(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, MethodOperand Method, int numVarOps)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandMethod
- the instruction's Method operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction mutate0(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, MethodOperand Method)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandMethod
- the instruction's Method operandpublic static Instruction create(Operator o, RegisterOperand Result, RegisterOperand Result2, int numVarOps)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction create0(Operator o, RegisterOperand Result, RegisterOperand Result2)
o
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandpublic static Instruction mutate(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2, int numVarOps)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.public static Instruction mutate0(Instruction i, Operator o, RegisterOperand Result, RegisterOperand Result2)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandResult2
- the instruction's Result2 operand