org.jikesrvm.compilers.opt.ir
Class MIR_CaseLabel

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

public final class MIR_CaseLabel
extends InstructionFormat

The MIR_CaseLabel 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_CaseLabel()
           
 
Method Summary
static boolean conforms(Instruction i)
          InstructionFormat identification method for MIR_CaseLabel.
static boolean conforms(Operator o)
          InstructionFormat identification method for MIR_CaseLabel.
static Instruction create(Operator o, IntConstantOperand Index, Operand Target)
          Create an instruction of the MIR_CaseLabel instruction format.
static IntConstantOperand getClearIndex(Instruction i)
          Get the operand called Index from the argument instruction clearing its instruction pointer.
static Operand getClearTarget(Instruction i)
          Get the operand called Target from the argument instruction clearing its instruction pointer.
static IntConstantOperand getIndex(Instruction i)
          Get the operand called Index from the argument instruction.
static Operand getTarget(Instruction i)
          Get the operand called Target from the argument instruction.
static boolean hasIndex(Instruction i)
          Does the argument instruction have a non-null operand named Index?
static boolean hasTarget(Instruction i)
          Does the argument instruction have a non-null operand named Target?
static int indexOfIndex(Instruction i)
          Return the index of the operand called Index 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, IntConstantOperand Index, Operand Target)
          Mutate the argument instruction into an instruction of the MIR_CaseLabel instruction format having the specified operator and operands.
static void setIndex(Instruction i, IntConstantOperand Index)
          Set the operand called Index in the argument instruction to the argument operand.
static void setTarget(Instruction i, Operand Target)
          Set the operand called Target 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_CaseLabel

public MIR_CaseLabel()
Method Detail

conforms

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

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

conforms

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

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

getIndex

public static IntConstantOperand getIndex(Instruction i)
Get the operand called Index 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 Index

getClearIndex

public static IntConstantOperand getClearIndex(Instruction i)
Get the operand called Index 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 Index

setIndex

public static void setIndex(Instruction i,
                            IntConstantOperand Index)
Set the operand called Index 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
Index - the operand to store

indexOfIndex

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

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

hasIndex

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

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

getTarget

public static Operand getTarget(Instruction i)
Get the operand called Target 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 Target

getClearTarget

public static Operand getClearTarget(Instruction i)
Get the operand called Target 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 Target

setTarget

public static void setTarget(Instruction i,
                             Operand Target)
Set the operand called Target 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
Target - the operand to store

indexOfTarget

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

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

hasTarget

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

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

create

public static Instruction create(Operator o,
                                 IntConstantOperand Index,
                                 Operand Target)
Create an instruction of the MIR_CaseLabel instruction format.

Parameters:
o - the instruction's operator
Index - the instruction's Index operand
Target - the instruction's Target operand
Returns:
the newly created MIR_CaseLabel instruction

mutate

public static Instruction mutate(Instruction i,
                                 Operator o,
                                 IntConstantOperand Index,
                                 Operand Target)
Mutate the argument instruction into an instruction of the MIR_CaseLabel instruction format having the specified operator and operands.

Parameters:
i - the instruction to mutate
o - the instruction's operator
Index - the instruction's Index operand
Target - the instruction's Target operand
Returns:
the mutated instruction