SandMark version 2.1


sandmark.util.controlflowgraph
Class MethodCFG

java.lang.Object
  |
  +--sandmark.util.controlflowgraph.Graph
        |
        +--sandmark.util.controlflowgraph.MethodCFG

public class MethodCFG
extends Graph


Nested Class Summary
 
Nested classes inherited from class sandmark.util.controlflowgraph.Graph
Graph.EdgeSet, Graph.NodeList
 
Field Summary
(package private)  java.util.ArrayList blockList
           
(package private)  int domEdgeModCount
           
(package private)  de.fub.bytecode.generic.CodeExceptionGen[] exceptionHandlers
           
(package private)  de.fub.bytecode.generic.InstructionList il
           
(package private)  BasicBlock initial
           
(package private)  java.util.ArrayList leaders
           
(package private)  int loopEdgeModCount
           
(package private)  Graph loopTree
           
(package private)  int maxLoopDepth
           
(package private)  de.fub.bytecode.generic.MethodGen mg
           
(package private)  BasicBlock sink
           
(package private)  BasicBlock source
           
 
Fields inherited from class sandmark.util.controlflowgraph.Graph
edgeModCount, nodeModCount, removingEdge, removingNode, revRootEdgeModCount, rootEdgeModCount
 
Constructor Summary
MethodCFG(de.fub.bytecode.generic.MethodGen mg)
          Constructor.
 
Method Summary
 void addEdge(GraphNode v, GraphNode w)
           
 BasicBlock init()
           
 de.fub.bytecode.generic.InstructionList instructionList()
           
 int maxLoopDepth()
           
 de.fub.bytecode.generic.MethodGen methodGen()
           
 BasicBlock newBlock()
          Creates a new BasicBlock with the next available label.
(package private)  BasicBlock newBlock(de.fub.bytecode.generic.InstructionHandle ih)
           
 void printCFG()
           
 void removeEdge(GraphNode v, GraphNode w)
           
 BasicBlock sink()
           
 BasicBlock source()
           
 
Methods inherited from class sandmark.util.controlflowgraph.Graph
addNode, buildRootList, getPostOrder, getPostOrderIndex, getPreds, getPreOrder, getPreOrderIndex, getSuccs, hasEdge, hasNode, nodes, removeNode, removeUnreachable, reverseRoots, roots, size, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mg

de.fub.bytecode.generic.MethodGen mg

il

de.fub.bytecode.generic.InstructionList il

exceptionHandlers

de.fub.bytecode.generic.CodeExceptionGen[] exceptionHandlers

source

BasicBlock source

sink

BasicBlock sink

initial

BasicBlock initial

leaders

java.util.ArrayList leaders

blockList

java.util.ArrayList blockList

loopTree

Graph loopTree

domEdgeModCount

int domEdgeModCount

loopEdgeModCount

int loopEdgeModCount

maxLoopDepth

int maxLoopDepth
Constructor Detail

MethodCFG

public MethodCFG(de.fub.bytecode.generic.MethodGen mg)
Constructor.

Method Detail

methodGen

public de.fub.bytecode.generic.MethodGen methodGen()

maxLoopDepth

public int maxLoopDepth()

newBlock

public BasicBlock newBlock()
Creates a new BasicBlock with the next available label.


newBlock

BasicBlock newBlock(de.fub.bytecode.generic.InstructionHandle ih)

addEdge

public void addEdge(GraphNode v,
                    GraphNode w)
Overrides:
addEdge in class Graph

removeEdge

public void removeEdge(GraphNode v,
                       GraphNode w)
Overrides:
removeEdge in class Graph

printCFG

public void printCFG()

source

public BasicBlock source()

sink

public BasicBlock sink()

init

public BasicBlock init()

instructionList

public de.fub.bytecode.generic.InstructionList instructionList()

SandMark version 2.1

Wed Jul 3 17:27:43 MST 2002