|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbyucc.jhdl.synth.graph.NamedObject
byucc.jhdl.synth.graph.Vertex
byucc.jhdl.synth.CFVertex
The basic vertex for any ControlFlowGraph. This class supports two different types of vertices: blocks and decisions. Block vertices represent basic blocks of a method. Decision vertices are always located at the end of a basic block and represent the possible control paths between blocks. Also, each CFVertex which is a block contains a DataFlowGraph which represents all of the dataflow within the given block.
CFEdge
,
ControlFlowGraph
,
DataFlowGraph
Field Summary |
Fields inherited from class byucc.jhdl.synth.graph.Vertex |
inEdgeVector, outEdgeVector, parent, visited |
Fields inherited from class byucc.jhdl.synth.graph.NamedObject |
name |
Constructor Summary | |
CFVertex(Graph g,
java.lang.String name)
Construct a new CFVertex of the given name within the given graph. |
Method Summary | |
void |
execute(GraphStack gs)
Execute a CFVertex block. |
boolean |
executionIsComplete()
Is this block's execution complete? |
void |
executionIsComplete(boolean value)
Declare this blocks execution as complete or not. |
java.lang.String |
getBlockName()
Get this block's name. |
DFVertex |
getDecisionSignal()
Get the decision signal corresponding to this vertex. |
DFSubGraph |
getDFSubGraph()
Get this block's corresponding DFSubGraph. |
java.lang.String |
getProperty(java.lang.String key)
Returns the value associated with the given key. |
DFVertex |
getSink()
Get this block's corresponding sink vertex in the DataFlowGraph. |
DFVertex |
getSource()
Get this block's corresponding source vertex in the DataFlowGraph. |
SynthBlock |
getSynthBlock()
Get this block's corresponding SynthBlock. |
java.lang.String |
getTypeString()
|
boolean |
isBlock()
Is the current vertex a block. |
boolean |
isDecision()
Is the current vertex a decision. |
void |
setProperty(java.lang.String key,
java.lang.String value)
Set a property, (a key->value pair), for this vertex. |
java.lang.String |
toString()
Generate a String representation of this CFVertex. |
protected java.lang.String |
vertexDotProperties()
|
Methods inherited from class byucc.jhdl.synth.graph.Vertex |
findEdgeTo, getInEdges, getOutEdges, getParent, getSingleHead, getSingleTail, getVisited, inDegree, isAdjacent, isVisited, outDegree, resetVisit, toDot, vertexDotLabels, visit, visit |
Methods inherited from class byucc.jhdl.synth.graph.NamedObject |
getName, setName |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public CFVertex(Graph g, java.lang.String name)
g
- The graph (ControlFlowGraph) in which this CFVertex should
be created.name
- The name for the new CFVertex.Method Detail |
public void setProperty(java.lang.String key, java.lang.String value)
setProperty
in class Vertex
key
- A string representing the key for this property.value
- A string representing the value associated with key.public java.lang.String getProperty(java.lang.String key)
key
- The key of the property of interest.
setProperty(java.lang.String, java.lang.String)
public boolean isBlock()
public boolean isDecision()
public SynthBlock getSynthBlock()
public DFSubGraph getDFSubGraph()
public DFVertex getSource()
public DFVertex getSink()
public java.lang.String getBlockName()
public boolean executionIsComplete()
public void executionIsComplete(boolean value)
value
- the value to be assigned to the executionIsComplete flag
for this block.public void execute(GraphStack gs)
Executing a CFVertex block starts out by executing its underlying SynthBlock. After completing this execution, we also connect all vertices with 0 inDegree to this block's source vertex and all vertices with 0 outDegree to this block's sink vertex.
gs
- a GraphStack in whose context this block will be executedpublic DFVertex getDecisionSignal()
public java.lang.String getTypeString()
protected java.lang.String vertexDotProperties()
vertexDotProperties
in class Vertex
public java.lang.String toString()
toString
in class Vertex
toDot
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |