org.jikesrvm.compilers.opt.ir
Class MIR_RDTSC

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

public final class MIR_RDTSC
extends InstructionFormat

The MIR_RDTSC 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_RDTSC()
           
 
Method Summary
static boolean conforms(Instruction i)
          InstructionFormat identification method for MIR_RDTSC.
static boolean conforms(Operator o)
          InstructionFormat identification method for MIR_RDTSC.
static Instruction create(Operator o, RegisterOperand Dest1, RegisterOperand Dest2)
          Create an instruction of the MIR_RDTSC instruction format.
static RegisterOperand getClearDest1(Instruction i)
          Get the operand called Dest1 from the argument instruction clearing its instruction pointer.
static RegisterOperand getClearDest2(Instruction i)
          Get the operand called Dest2 from the argument instruction clearing its instruction pointer.
static RegisterOperand getDest1(Instruction i)
          Get the operand called Dest1 from the argument instruction.
static RegisterOperand getDest2(Instruction i)
          Get the operand called Dest2 from the argument instruction.
static boolean hasDest1(Instruction i)
          Does the argument instruction have a non-null operand named Dest1?
static boolean hasDest2(Instruction i)
          Does the argument instruction have a non-null operand named Dest2?
static int indexOfDest1(Instruction i)
          Return the index of the operand called Dest1 in the argument instruction.
static int indexOfDest2(Instruction i)
          Return the index of the operand called Dest2 in the argument instruction.
static Instruction mutate(Instruction i, Operator o, RegisterOperand Dest1, RegisterOperand Dest2)
          Mutate the argument instruction into an instruction of the MIR_RDTSC instruction format having the specified operator and operands.
static void setDest1(Instruction i, RegisterOperand Dest1)
          Set the operand called Dest1 in the argument instruction to the argument operand.
static void setDest2(Instruction i, RegisterOperand Dest2)
          Set the operand called Dest2 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_RDTSC

public MIR_RDTSC()
Method Detail

conforms

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

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

conforms

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

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

getDest1

public static RegisterOperand getDest1(Instruction i)
Get the operand called Dest1 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 Dest1

getClearDest1

public static RegisterOperand getClearDest1(Instruction i)
Get the operand called Dest1 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 Dest1

setDest1

public static void setDest1(Instruction i,
                            RegisterOperand Dest1)
Set the operand called Dest1 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
Dest1 - the operand to store

indexOfDest1

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

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

hasDest1

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

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

getDest2

public static RegisterOperand getDest2(Instruction i)
Get the operand called Dest2 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 Dest2

getClearDest2

public static RegisterOperand getClearDest2(Instruction i)
Get the operand called Dest2 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 Dest2

setDest2

public static void setDest2(Instruction i,
                            RegisterOperand Dest2)
Set the operand called Dest2 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
Dest2 - the operand to store

indexOfDest2

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

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

hasDest2

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

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

create

public static Instruction create(Operator o,
                                 RegisterOperand Dest1,
                                 RegisterOperand Dest2)
Create an instruction of the MIR_RDTSC instruction format.

Parameters:
o - the instruction's operator
Dest1 - the instruction's Dest1 operand
Dest2 - the instruction's Dest2 operand
Returns:
the newly created MIR_RDTSC instruction

mutate

public static Instruction mutate(Instruction i,
                                 Operator o,
                                 RegisterOperand Dest1,
                                 RegisterOperand Dest2)
Mutate the argument instruction into an instruction of the MIR_RDTSC instruction format having the specified operator and operands.

Parameters:
i - the instruction to mutate
o - the instruction's operator
Dest1 - the instruction's Dest1 operand
Dest2 - the instruction's Dest2 operand
Returns:
the mutated instruction