Uses of Class
org.jikesrvm.compilers.opt.ir.operand.HeapOperand

Packages that use HeapOperand
org.jikesrvm.compilers.opt.ir   
org.jikesrvm.compilers.opt.ir.operand   
org.jikesrvm.compilers.opt.ssa   
 

Uses of HeapOperand in org.jikesrvm.compilers.opt.ir
 

Fields in org.jikesrvm.compilers.opt.ir declared as HeapOperand
private  HeapOperand<?>[] IREnumeration.AllDefsEnum.heapOperands
          Array of heap operands defined by the instruction
private  HeapOperand<?>[] IREnumeration.AllUsesEnum.heapOperands
          Array of heap operands defined by the instruction
 

Uses of HeapOperand in org.jikesrvm.compilers.opt.ir.operand
 

Methods in org.jikesrvm.compilers.opt.ir.operand that return HeapOperand
 HeapOperand<T> HeapOperand.copy()
          Construct a new heap operand associated with the same heap variable as this operand
 

Uses of HeapOperand in org.jikesrvm.compilers.opt.ssa
 

Fields in org.jikesrvm.compilers.opt.ssa with type parameters of type HeapOperand
private  HashMap<HeapVariable<Object>,HeapOperand<Object>> SSADictionary.DefChain
          A mapping from HeapVariable to HeapOperand .
private  HashMap<Object,HashSet<HeapOperand<Object>>> SSADictionary.originalDefs
          A mapping from a heap variable type to a HashSet of Instruction .
private  HashMap<Object,HashSet<HeapOperand<Object>>> SSADictionary.originalUses
          A mapping from a heap variable type to a HashSet of Instruction .
private  HashMap<HeapVariable<Object>,HashSet<HeapOperand<Object>>> SSADictionary.UseChain
          A mapping from HeapVariable to HashSet of HeapOperand .
 

Methods in org.jikesrvm.compilers.opt.ssa that return HeapOperand
private static HeapOperand<Object>[] SSADictionary.extendHArray(HeapOperand<Object>[] H)
          Returns a copy of H with an additional free slot at position 0
 HeapOperand<Object>[] SSADictionary.getHeapDefs(Instruction s)
          Return the heap operands defined by an instruction.
 HeapOperand<Object>[] SSADictionary.getHeapUses(Instruction s)
          Return the heap operands used by an instruction.
(package private)  HeapOperand<Object> SSADictionary.getUniqueDef(HeapVariable<Object> A)
          Return the operand that represents a heap variable's unique def.
(package private)  HeapOperand<Object>[] SSADictionary.replaceDefs(Instruction s, BasicBlock b)
          Replace all heap variables that an instruction defs with new heap variables.
 

Methods in org.jikesrvm.compilers.opt.ssa that return types with arguments of type HeapOperand
private  HashSet<HeapOperand<Object>> SSADictionary.findOrCreateOriginalDefs(Object type)
          Return a set of all the original definitions of a heap variable.
private  HashSet<HeapOperand<Object>> SSADictionary.findOrCreateOriginalUses(Object type)
          Return a set of all the original uses of a heap variable.
(package private)  Iterator<HeapOperand<Object>> SSADictionary.iterateHeapUses(HeapVariable<Object> A)
          Return an enumeration of all uses of a particular heap variable.
private  Iterator<HeapOperand<Object>> SSADictionary.iterateOriginalHeapDefs(HeapVariable<Object> A)
          Return an enumeration of all the original definitions of a heap variable.
private  Iterator<HeapOperand<Object>> SSADictionary.iterateOriginalHeapUses(HeapVariable<Object> A)
          Return an enumeration of all the original uses of a heap variable.
 

Methods in org.jikesrvm.compilers.opt.ssa with parameters of type HeapOperand
private  int LICM._checkLoop(Instruction inst, HeapOperand<?> hop, int xidx)
          check that inside the loop, the heap variable is only used/defed by simple, non-volatile loads/stores returns one of: CL_LOADS_ONLY, CL_STORES_ONLY, CL_LOADS_AND_STORES, CL_COMPLEX
(package private)  void SSADictionary.addToUseChain(HeapOperand<Object> op)
          Add an HeapOperand to the use chain of its heap variable
private  int LICM.checkLoop(Instruction inst, HeapOperand<Object> hop, int xidx, BasicBlock block)
          check that inside the loop, the heap variable is only used/defed by simple, non-volatile loads/stores returns one of: CL_LOADS_ONLY, CL_STORES_ONLY, CL_LOADS_AND_STORES, CL_COMPLEX
(package private)  void SSADictionary.deleteFromUseChain(HeapOperand<Object> op)
          Delete an HeapOperand from the use chain of its heap variable
private static HeapOperand<Object>[] SSADictionary.extendHArray(HeapOperand<Object>[] H)
          Returns a copy of H with an additional free slot at position 0
private  boolean LICM.replaceUses(Instruction inst, HeapOperand<?> replacement, BasicBlockOperand replacementBlock, boolean onlyPEIs)
          In the consumers of `inst', replace uses of `inst's result with uses of `replacement'
(package private)  void SSADictionary.replaceUses(Instruction s, HeapOperand<Object>[] H)
          Register that an instruction now uses the set of heap operands
(package private)  Instruction LICM.scheduleHeapDefsEarly(HeapOperand<?>[] op, Instruction earlyPos, Instruction me)
          Schedule me as early as possible, but behind the definitions of op[i] and behind earlyPos
 

Method parameters in org.jikesrvm.compilers.opt.ssa with type arguments of type HeapOperand
private  void EnterSSA.search2(BasicBlock X, HashMap<Object,Stack<HeapOperand<Object>>> stacks)
          This routine is the guts of the SSA construction phase for heap array SSA.