org.jikesrvm.compilers.opt.ir
Class MIR_Return

java.lang.Object
  extended by org.jikesrvm.compilers.opt.ir.InstructionFormat
      extended by org.jikesrvm.compilers.opt.ir.MIR_Return

public final class MIR_Return
extends InstructionFormat

The MIR_Return InstructionFormat class. The header comment for Instruction contains an explanation of the role of InstructionFormats in the opt compiler's IR.


Field Summary
 
Fields inherited from class org.jikesrvm.compilers.opt.ir.InstructionFormat
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, MIR_BinaryAcc_format, MIR_BinaryAcc_traits, MIR_Branch_format, MIR_Branch_traits, MIR_CacheOp_format, MIR_CacheOp_traits, MIR_Call_format, MIR_Call_traits, MIR_CaseLabel_format, MIR_CaseLabel_traits, MIR_Compare_format, MIR_Compare_traits, MIR_CompareExchange_format, MIR_CompareExchange_traits, MIR_CompareExchange8B_format, MIR_CompareExchange8B_traits, MIR_CondBranch_format, MIR_CondBranch_traits, MIR_CondBranch2_format, MIR_CondBranch2_traits, MIR_CondMove_format, MIR_CondMove_traits, MIR_ConvertDW2QW_format, MIR_ConvertDW2QW_traits, MIR_Divide_format, MIR_Divide_traits, MIR_DoubleShift_format, MIR_DoubleShift_traits, MIR_Empty_format, MIR_Empty_traits, MIR_FSave_format, MIR_FSave_traits, MIR_Lea_format, MIR_Lea_traits, MIR_LowTableSwitch_format, MIR_LowTableSwitch_traits, MIR_Move_format, MIR_Move_traits, MIR_Multiply_format, MIR_Multiply_traits, MIR_Nullary_format, MIR_Nullary_traits, MIR_RDTSC_format, MIR_RDTSC_traits, MIR_Return_format, MIR_Return_traits, MIR_Set_format, MIR_Set_traits, MIR_Test_format, MIR_Test_traits, MIR_Trap_format, MIR_Trap_traits, MIR_TrapIf_format, MIR_TrapIf_traits, MIR_Unary_format, MIR_Unary_traits, MIR_UnaryAcc_format, MIR_UnaryAcc_traits, MIR_UnaryNoRes_format, MIR_UnaryNoRes_traits, MIR_XChng_format, MIR_XChng_traits, 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 Summary
MIR_Return()
           
 
Method Summary
static boolean conforms(Instruction i)
          InstructionFormat identification method for MIR_Return.
static boolean conforms(Operator o)
          InstructionFormat identification method for MIR_Return.
static Instruction create(Operator o, IntConstantOperand PopBytes, Operand Val, Operand Val2)
          Create an instruction of the MIR_Return instruction format.
static IntConstantOperand getClearPopBytes(Instruction i)
          Get the operand called PopBytes from the argument instruction clearing its instruction pointer.
static Operand getClearVal(Instruction i)
          Get the operand called Val 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 IntConstantOperand getPopBytes(Instruction i)
          Get the operand called PopBytes from the argument instruction.
static Operand getVal(Instruction i)
          Get the operand called Val from the argument instruction.
static Operand getVal2(Instruction i)
          Get the operand called Val2 from the argument instruction.
static boolean hasPopBytes(Instruction i)
          Does the argument instruction have a non-null operand named PopBytes?
static boolean hasVal(Instruction i)
          Does the argument instruction have a non-null operand named Val?
static boolean hasVal2(Instruction i)
          Does the argument instruction have a non-null operand named Val2?
static int indexOfPopBytes(Instruction i)
          Return the index of the operand called PopBytes in the argument instruction.
static int indexOfVal(Instruction i)
          Return the index of the operand called Val 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, IntConstantOperand PopBytes, Operand Val, Operand Val2)
          Mutate the argument instruction into an instruction of the MIR_Return instruction format having the specified operator and operands.
static void setPopBytes(Instruction i, IntConstantOperand PopBytes)
          Set the operand called PopBytes in the argument instruction to the argument operand.
static void setVal(Instruction i, Operand Val)
          Set the operand called Val 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.
 
Methods inherited from class org.jikesrvm.compilers.opt.ir.InstructionFormat
fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MIR_Return

public MIR_Return()
Method Detail

conforms

public static boolean conforms(Instruction i)
InstructionFormat identification method for MIR_Return.

Parameters:
i - an instruction
Returns:
true if the InstructionFormat of the argument instruction is MIR_Return or false if it is not.

conforms

public static boolean conforms(Operator o)
InstructionFormat identification method for MIR_Return.

Parameters:
o - an instruction
Returns:
true if the InstructionFormat of the argument operator is MIR_Return or false if it is not.

getPopBytes

public static IntConstantOperand getPopBytes(Instruction i)
Get the operand called PopBytes from the argument instruction. Note that the returned operand will still point to its containing instruction.

Parameters:
i - the instruction to fetch the operand from
Returns:
the operand called PopBytes

getClearPopBytes

public static IntConstantOperand getClearPopBytes(Instruction i)
Get the operand called PopBytes from the argument instruction clearing its instruction pointer. The returned operand will not point to any containing instruction.

Parameters:
i - the instruction to fetch the operand from
Returns:
the operand called PopBytes

setPopBytes

public static void setPopBytes(Instruction i,
                               IntConstantOperand PopBytes)
Set the operand called PopBytes in the argument instruction to the argument operand. The operand will now point to the argument instruction as its containing instruction.

Parameters:
i - the instruction in which to store the operand
PopBytes - the operand to store

indexOfPopBytes

public static int indexOfPopBytes(Instruction i)
Return the index of the operand called PopBytes in the argument instruction.

Parameters:
i - the instruction to access.
Returns:
the index of the operand called PopBytes in the argument instruction

hasPopBytes

public static boolean hasPopBytes(Instruction i)
Does the argument instruction have a non-null operand named PopBytes?

Parameters:
i - the instruction to access.
Returns:
true if the instruction has an non-null operand named PopBytes or false if it does not.

getVal

public static Operand getVal(Instruction i)
Get the operand called Val from the argument instruction. Note that the returned operand will still point to its containing instruction.

Parameters:
i - the instruction to fetch the operand from
Returns:
the operand called Val

getClearVal

public static Operand getClearVal(Instruction i)
Get the operand called Val from the argument instruction clearing its instruction pointer. The returned operand will not point to any containing instruction.

Parameters:
i - the instruction to fetch the operand from
Returns:
the operand called Val

setVal

public static void setVal(Instruction i,
                          Operand Val)
Set the operand called Val in the argument instruction to the argument operand. The operand will now point to the argument instruction as its containing instruction.

Parameters:
i - the instruction in which to store the operand
Val - the operand to store

indexOfVal

public static int indexOfVal(Instruction i)
Return the index of the operand called Val in the argument instruction.

Parameters:
i - the instruction to access.
Returns:
the index of the operand called Val in the argument instruction

hasVal

public static boolean hasVal(Instruction i)
Does the argument instruction have a non-null operand named Val?

Parameters:
i - the instruction to access.
Returns:
true if the instruction has an non-null operand named Val or false if it does not.

getVal2

public static Operand getVal2(Instruction i)
Get the operand called Val2 from the argument instruction. Note that the returned operand will still point to its containing instruction.

Parameters:
i - the instruction to fetch the operand from
Returns:
the operand called Val2

getClearVal2

public static Operand getClearVal2(Instruction i)
Get the operand called Val2 from the argument instruction clearing its instruction pointer. The returned operand will not point to any containing instruction.

Parameters:
i - the instruction to fetch the operand from
Returns:
the operand called Val2

setVal2

public static void setVal2(Instruction i,
                           Operand Val2)
Set the operand called Val2 in the argument instruction to the argument operand. The operand will now point to the argument instruction as its containing instruction.

Parameters:
i - the instruction in which to store the operand
Val2 - the operand to store

indexOfVal2

public static int indexOfVal2(Instruction i)
Return the index of the operand called Val2 in the argument instruction.

Parameters:
i - the instruction to access.
Returns:
the index of the operand called Val2 in the argument instruction

hasVal2

public static boolean hasVal2(Instruction i)
Does the argument instruction have a non-null operand named Val2?

Parameters:
i - the instruction to access.
Returns:
true if the instruction has an non-null operand named Val2 or false if it does not.

create

public static Instruction create(Operator o,
                                 IntConstantOperand PopBytes,
                                 Operand Val,
                                 Operand Val2)
Create an instruction of the MIR_Return instruction format.

Parameters:
o - the instruction's operator
PopBytes - the instruction's PopBytes operand
Val - the instruction's Val operand
Val2 - the instruction's Val2 operand
Returns:
the newly created MIR_Return instruction

mutate

public static Instruction mutate(Instruction i,
                                 Operator o,
                                 IntConstantOperand PopBytes,
                                 Operand Val,
                                 Operand Val2)
Mutate the argument instruction into an instruction of the MIR_Return instruction format having the specified operator and operands.

Parameters:
i - the instruction to mutate
o - the instruction's operator
PopBytes - the instruction's PopBytes operand
Val - the instruction's Val operand
Val2 - the instruction's Val2 operand
Returns:
the mutated instruction