|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use BitVector | |
---|---|
org.jikesrvm.compilers.opt.controlflow | |
org.jikesrvm.compilers.opt.ir | |
org.jikesrvm.compilers.opt.ssa | |
org.jikesrvm.compilers.opt.util | |
org.jikesrvm.runtime | |
org.jikesrvm.util |
Uses of BitVector in org.jikesrvm.compilers.opt.controlflow |
---|
Fields in org.jikesrvm.compilers.opt.controlflow declared as BitVector | |
---|---|
private BitVector |
DominatorTreeNode.dominanceFrontier
representation of the dominance frontier for this node |
(package private) BitVector |
DominatorCell.dominators
Bit set representation of the dominators for this basic block. |
(package private) BitVector |
DominatorTreeNode.dominators
the cache to hold the set of nodes that dominate this one. |
(package private) BitVector |
DominatorInfo.dominators
A BitVector which represents the dominators of the basic block |
(package private) BitVector |
LSTNode.loop
Basic blocks in the loop |
Methods in org.jikesrvm.compilers.opt.controlflow that return BitVector | |
---|---|
BitVector |
LTDominatorInfo.dominators(BasicBlock block,
IR ir)
This method returns the set of blocks that dominates the passed block, i.e., it answers the question "Who dominates me?" |
(package private) BitVector |
DominatorTreeNode.dominators(IR ir)
This method returns the set of blocks that dominates the passed block, i.e., it answers the question "Who dominates me?" |
(package private) BitVector |
DominatorTreeNode.getDominanceFrontier()
Return a bit set representing the dominance frontier for this node |
BitVector |
DominatorTree.getDominanceFrontier(BasicBlock bb)
Return the (already calculated) dominance frontier for a basic block |
BitVector |
DominatorTree.getDominanceFrontier(int number)
Return the (already calculated) dominance frontier for a basic block |
static BitVector |
DominanceFrontier.getDominanceFrontier(IR ir,
BitVector bits)
Calculate the dominance frontier for the set of basic blocks represented by a BitVector. |
static BitVector |
DominanceFrontier.getIteratedDominanceFrontier(IR ir,
BitVector S)
Calculate the iterated dominance frontier for a set of basic blocks represented by a BitVector. |
BitVector |
LSTNode.getLoop()
|
Methods in org.jikesrvm.compilers.opt.controlflow with parameters of type BitVector | |
---|---|
boolean |
DominatorTree.dominates(int b,
BitVector bits)
Does basic block number b dominate all basic blocks in a set? |
private static boolean |
CFGTransformations.exitsLoop(BasicBlock b,
BitVector loop)
|
private void |
LSTGraph.findNaturalLoop(SpaceEffGraphEdge edge,
BitVector loop)
This routine implements part of the algorithm to compute natural loops as defined in Muchnick p 192. |
private AnnotatedLSTNode.BBEnum |
AnnotatedLSTNode.getBasicBlocks(BasicBlock block,
AnnotatedLSTNode.BBEnum bbs,
BitVector blocksLeftToVisit)
Return an enumeration of basic blocks corresponding to a depth first traversal of the blocks in the loops graphs |
static BitVector |
DominanceFrontier.getDominanceFrontier(IR ir,
BitVector bits)
Calculate the dominance frontier for the set of basic blocks represented by a BitVector. |
static BitVector |
DominanceFrontier.getIteratedDominanceFrontier(IR ir,
BitVector S)
Calculate the iterated dominance frontier for a set of basic blocks represented by a BitVector. |
(package private) static boolean |
CFGTransformations.inLoop(BasicBlock b,
BitVector nloop)
|
private static boolean |
AnnotatedLSTNode.isLoopInvariant(Operand op,
BitVector loop,
BasicBlock header)
Test whether operand value will be invariant in a loop by tracing back earlier definitions. |
(package private) static void |
CFGTransformations.killFallThroughs(IR ir,
BitVector nloop)
|
private static boolean |
LoopUnrolling.loopInvariant(Operand op,
BitVector nloop,
int depth)
|
(package private) static BasicBlock[] |
LoopUnrolling.makeSomeCopies(int unrollFactor,
IR ir,
BitVector nloop,
int blocks,
BasicBlock header,
BasicBlock exitBlock,
BasicBlock seqStart)
|
private static boolean |
LoopUnrolling.printDefs(Operand op,
BitVector nloop,
int depth)
|
(package private) void |
DominatorTreeNode.setDominanceFrontier(BitVector set)
Set a bit set representing the dominance frontier for this node |
Constructors in org.jikesrvm.compilers.opt.controlflow with parameters of type BitVector | |
---|---|
DominatorInfo(BitVector dominators)
Make a structure with a given bit set holding the dominators of the basic block. |
Uses of BitVector in org.jikesrvm.compilers.opt.ir |
---|
Methods in org.jikesrvm.compilers.opt.ir with parameters of type BitVector | |
---|---|
Enumeration<BasicBlock> |
IR.getBasicBlocks(BitVector bits)
Get an enumeration of all the basic blocks whose numbers appear in the given BitSet. |
private void |
IR.verifyAllBlocksAreReachable(String where,
BasicBlock curBB,
BitVector visitedNormalBBs,
BitVector visitedExceptionalBBs,
boolean fromExceptionEdge)
Verify that every block in the CFG is reachable as failing to do so will cause EnterSSA.insertPhiFunctions to possibly access elements in DominanceFrontier.getIteratedDominanceFrontier and then DominanceFrontier.getDominanceFrontier that aren't defined. |
private void |
IR.verifyUseFollowsDef(String where,
HashSet<Object> definedVariables,
BasicBlock curBB,
BitVector visitedBBs,
ArrayList<BasicBlock> path,
int maxPathLength,
boolean traceExceptionEdges)
Check whether uses follow definitions and in SSA form that variables aren't multiply defined |
Constructors in org.jikesrvm.compilers.opt.ir with parameters of type BitVector | |
---|---|
IR.BitSetBBEnum(IR ir,
BitVector bits)
|
Uses of BitVector in org.jikesrvm.compilers.opt.ssa |
---|
Fields in org.jikesrvm.compilers.opt.ssa declared as BitVector | |
---|---|
private BitVector |
HeapVariable.definedIn
a bit vector representing the basic blocks that write to this variable |
Methods in org.jikesrvm.compilers.opt.ssa that return BitVector | |
---|---|
BitVector |
HeapVariable.getDefBlocks()
Return a bit vector that represents the basic blocks that define this heap variable. |
private BitVector[] |
EnterSSA.getDefSets()
Calculate the set of blocks that contain defs for each symbolic register in an IR. |
Methods in org.jikesrvm.compilers.opt.ssa with parameters of type BitVector | |
---|---|
private void |
EnterSSA.insertPhiFunctions(IR ir,
BitVector[] defs,
Register[] symbolics,
boolean excludeGuards)
Insert the necessary phi functions into an IR. |
private void |
EnterSSA.removePhisThatDominateAllDefs(BitVector needsPhi,
IR ir,
BitVector defs)
If node N dominates all defs of a register r, then N does not need a phi function for r; this function removes such nodes N from a Bit Set. |
Uses of BitVector in org.jikesrvm.compilers.opt.util |
---|
Fields in org.jikesrvm.compilers.opt.util declared as BitVector | |
---|---|
private BitVector |
BitSet.vector
The backing bit vector that determines set membership. |
Uses of BitVector in org.jikesrvm.runtime |
---|
Fields in org.jikesrvm.runtime declared as BitVector | |
---|---|
private static BitVector |
Statics.numericFieldVector
Bit vector indicating whether a numeric slot is a field (true) or a literal (false). |
Uses of BitVector in org.jikesrvm.util |
---|
Methods in org.jikesrvm.util that return BitVector | |
---|---|
static BitVector |
BitVector.and(BitVector b1,
BitVector b2)
Return a new bit string as the AND of two others. |
BitVector |
BitVector.dup()
|
static BitVector |
BitVector.not(BitVector s)
Return the NOT of a bit string |
static BitVector |
BitVector.or(BitVector b1,
BitVector b2)
Return a new BitVector as the OR of two others |
Methods in org.jikesrvm.util with parameters of type BitVector | |
---|---|
void |
BitVector.and(BitVector set)
Logically ANDs this bit set with the specified set of bits. |
static BitVector |
BitVector.and(BitVector b1,
BitVector b2)
Return a new bit string as the AND of two others. |
void |
BitVector.copyBits(BitVector set)
Copies the values of the bits in the specified set into this set. |
boolean |
BitVector.intersectionEmpty(BitVector other)
Check if the intersection of the two sets is empty |
static BitVector |
BitVector.not(BitVector s)
Return the NOT of a bit string |
void |
BitVector.or(BitVector set)
Logically ORs this bit set with the specified set of bits. |
static BitVector |
BitVector.or(BitVector b1,
BitVector b2)
Return a new BitVector as the OR of two others |
void |
BitVector.xor(BitVector set)
Logically XORs this bit set with the specified set of bits. |
Constructors in org.jikesrvm.util with parameters of type BitVector | |
---|---|
BitVector(BitVector s)
Creates a copy of a Bit String |
|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |