Uses of Class
org.jikesrvm.util.BitVector

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