|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |
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. |
|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |