|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.util.SpaceEffGraphNode org.jikesrvm.compilers.opt.controlflow.LSTNode
public class LSTNode
A node in the LST (Loop Structure Tree)
Nested Class Summary | |
---|---|
(package private) static class |
LSTNode.Edge
|
Nested classes/interfaces inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphNode |
---|
SpaceEffGraphNode.GraphEdgeEnumeration<T extends GraphEdge>, SpaceEffGraphNode.OutEdgeEnumeration |
Field Summary | |
---|---|
(package private) int |
depth
The depth of the loop |
BasicBlock |
header
Basic block which is the loop head |
(package private) BitVector |
loop
Basic blocks in the loop |
(package private) ArrayList<LSTNode.Edge> |
loopExits
The CFG Edges that are exits from the loop. |
(package private) float |
loopMultiplier
If the loop is entered from the loopHeader x times, then the loopHead is executed loopMultiplier * x times. |
Fields inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphNode |
---|
_inEdgeEnd, _inEdgeStart, _outEdgeEnd, _outEdgeStart, info, next, nextSorted, prev, scratch, scratchObject |
Constructor Summary | |
---|---|
(package private) |
LSTNode(BasicBlock bb)
|
protected |
LSTNode(LSTNode node)
Copy constructor |
Method Summary | |
---|---|
void |
addLoopExit(BasicBlock source,
BasicBlock target,
float prob)
|
Enumeration<LSTNode> |
getChildren()
|
BasicBlock |
getHeader()
|
BitVector |
getLoop()
|
LSTNode |
getParent()
|
void |
initializeLoopExits()
|
String |
toString()
|
Methods inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphNode |
---|
_sortDFS, _sortRevTop, _sortTop, append, appendInEdge, appendOutEdge, clearDfsVisited, clearFlags, clearInFlags, clearLoopHeader, clearOnStack, 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, remove, removeIn, removeIn, removeOut, removeOut, replaceInEdge, replaceOut, 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, wait, wait, wait |
Field Detail |
---|
public final BasicBlock header
BitVector loop
int depth
float loopMultiplier
ArrayList<LSTNode.Edge> loopExits
Constructor Detail |
---|
LSTNode(BasicBlock bb)
protected LSTNode(LSTNode node)
node
- for copyingMethod Detail |
---|
public BasicBlock getHeader()
public BitVector getLoop()
public String toString()
toString
in class Object
public LSTNode getParent()
public Enumeration<LSTNode> getChildren()
public void initializeLoopExits()
public void addLoopExit(BasicBlock source, BasicBlock target, float prob)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |