org.jikesrvm.compilers.opt.util
Class SortedGraphNode

java.lang.Object
  extended by org.jikesrvm.compilers.opt.util.SpaceEffGraphNode
      extended by org.jikesrvm.compilers.opt.util.SortedGraphNode
All Implemented Interfaces:
GraphElement, GraphNode
Direct Known Subclasses:
BasicBlock

public abstract class SortedGraphNode
extends SpaceEffGraphNode


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphNode
SpaceEffGraphNode.GraphEdgeEnumeration<T extends GraphEdge>, SpaceEffGraphNode.InEdgeEnumeration, SpaceEffGraphNode.InNodeEnumeration, SpaceEffGraphNode.OutEdgeEnumeration, SpaceEffGraphNode.OutNodeEnumeration
 
Field Summary
protected  int backwardSortNumber
           
private static int currentSortMarker
           
protected  int forwardSortNumber
           
 SortedGraphNode sortedNext
           
 SortedGraphNode sortedPrev
           
(package private)  int sortMarker
           
 
Fields inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphNode
_inEdgeEnd, _inEdgeStart, _outEdgeEnd, _outEdgeStart, DFS_VISITED, info, INFO_MASK, LOOP_HEADER, next, nextSorted, ON_STACK, prev, scratch, scratchObject, TOP_VISITED
 
Constructor Summary
SortedGraphNode()
           
 
Method Summary
 SortedGraphNode getBackwardSortedNext()
           
 int getBackwardSortNumber()
           
 SortedGraphNode getForwardSortedNext()
           
 int getForwardSortNumber()
           
abstract  Enumeration<? extends SortedGraphNode> getInNodes()
           
static int getNewSortMarker(SortedGraphNode anchor)
           
abstract  Enumeration<? extends SortedGraphNode> getOutNodes()
           
 SortedGraphNode getSortedNext(boolean forward)
           
 int getSortMarker()
           
 int getSortNumber(boolean forward)
           
 boolean isSortMarkedWith(int sortMarker)
           
 void setBackwardSortNumber(int number)
           
 void setForwardSortNumber(int number)
           
 void setSortedNext(SortedGraphNode next, boolean forward)
           
 void setSortMarker(int sortMarker)
           
 void setSortNumber(int number)
           
 void setSortNumber(int number, boolean forward)
           
 
Methods inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphNode
_sortDFS, _sortRevTop, _sortTop, append, appendInEdge, appendOutEdge, clearDfsVisited, clearFlags, clearIn, clearInFlags, clearLoopHeader, clearOnStack, clearOut, clearOutFlags, clearTopVisited, deleteIn, deleteOut, deleteOut, deleteOut, dfsVisited, findOutEdgeTo, firstInEdge, firstInNode, firstOutEdge, firstOutNode, flagsOn, getIndex, getNext, getNumber, getNumberOfIn, getNumberOfOut, getPrev, getScratch, hasIn, hasOneIn, hasOneIn, hasOneOut, hasOneOut, hasOut, hasZeroIn, hasZeroOut, inEdges, inNodes, insertOut, insertOut, isLoopHeader, markDFN, markSCC, onStack, outEdges, outNodes, pointsIn, pointsOut, printExtended, printInEdges, printInNodes, printOutEdges, printOutNodes, printSorted, remove, removeIn, removeIn, removeOut, removeOut, replaceInEdge, replaceOut, revertOuts, setDfsVisited, setDfsVisitedOnStack, setIndex, setLoopHeader, setNumber, setOnStack, setScratch, setTopVisited, sortDFS, sortRevTop, sortTop, topVisited
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sortMarker

int sortMarker

currentSortMarker

private static int currentSortMarker

sortedPrev

public SortedGraphNode sortedPrev

sortedNext

public SortedGraphNode sortedNext

forwardSortNumber

protected int forwardSortNumber

backwardSortNumber

protected int backwardSortNumber
Constructor Detail

SortedGraphNode

public SortedGraphNode()
Method Detail

getInNodes

public abstract Enumeration<? extends SortedGraphNode> getInNodes()

getOutNodes

public abstract Enumeration<? extends SortedGraphNode> getOutNodes()

getSortedNext

public SortedGraphNode getSortedNext(boolean forward)

getForwardSortedNext

public SortedGraphNode getForwardSortedNext()

getBackwardSortedNext

public SortedGraphNode getBackwardSortedNext()

setSortedNext

public void setSortedNext(SortedGraphNode next,
                          boolean forward)

setForwardSortNumber

public void setForwardSortNumber(int number)

getForwardSortNumber

public int getForwardSortNumber()

setBackwardSortNumber

public void setBackwardSortNumber(int number)

getBackwardSortNumber

public int getBackwardSortNumber()

setSortNumber

public void setSortNumber(int number,
                          boolean forward)

getSortNumber

public int getSortNumber(boolean forward)

setSortNumber

public void setSortNumber(int number)

getNewSortMarker

public static int getNewSortMarker(SortedGraphNode anchor)

getSortMarker

public int getSortMarker()

setSortMarker

public void setSortMarker(int sortMarker)

isSortMarkedWith

public boolean isSortMarkedWith(int sortMarker)