org.jikesrvm.compilers.opt.ir
Class MIR_FSave

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

public final class MIR_FSave
extends InstructionFormat

The MIR_FSave 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_FSave()
           
 
Method Summary
static boolean conforms(Instruction i)
          InstructionFormat identification method for MIR_FSave.
static boolean conforms(Operator o)
          InstructionFormat identification method for MIR_FSave.
static Instruction create(Operator o, Operand Destination)
          Create an instruction of the MIR_FSave instruction format.
static Operand getClearDestination(Instruction i)
          Get the operand called Destination from the argument instruction clearing its instruction pointer.
static Operand getDestination(Instruction i)
          Get the operand called Destination from the argument instruction.
static boolean hasDestination(Instruction i)
          Does the argument instruction have a non-null operand named Destination?
static int indexOfDestination(Instruction i)
          Return the index of the operand called Destination in the argument instruction.
static Instruction mutate(Instruction i, Operator o, Operand Destination)
          Mutate the argument instruction into an instruction of the MIR_FSave instruction format having the specified operator and operands.
static void setDestination(Instruction i, Operand Destination)
          Set the operand called Destination 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_FSave

public MIR_FSave()
Method Detail

conforms

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

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

conforms

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

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

getDestination

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

getClearDestination

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

setDestination

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

indexOfDestination

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

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

hasDestination

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

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

create

public static Instruction create(Operator o,
                                 Operand Destination)
Create an instruction of the MIR_FSave instruction format.

Parameters:
o - the instruction's operator
Destination - the instruction's Destination operand
Returns:
the newly created MIR_FSave instruction

mutate

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

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