|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.quilt.cl.SortedBlocks
Manages an index into the bytecode vertices in a method's control flow graph. The vertices (blocks) are indexed by their position in the original code. The blocks may be from different graphs in a set of nested graphs.
Constructor Summary | |
SortedBlocks()
Creates an empty map. |
Method Summary | |
boolean |
add(CodeVertex v)
Add a vertex at its bytecode position. |
CodeVertex |
add(int pos,
Edge e)
Add a vertex at bytecode offset pos along edge e. |
boolean |
exists(int pos)
Does a vertex exist with this bytecode offset? |
CodeVertex |
find(int pos,
ControlFlowGraph currGraph,
Edge e)
Find or create a code vertex starting at a given position. |
CodeVertex |
get(int pos)
Find the code vertex starting at a given bytecode offset. |
int |
size()
How many code vertices are currently in the index? |
java.lang.String |
toString()
Standard toString(), XXX needs some work. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public SortedBlocks()
Method Detail |
public boolean add(CodeVertex v)
v
- CodeVertex to be inserted
public CodeVertex find(int pos, ControlFlowGraph currGraph, Edge e)
pos
- Byte offset in the original bytecode.e
- If the vertex must be created, Edge into which it
gets inserted. Otherwise, edge target becomes
the existing vertex.public CodeVertex add(int pos, Edge e)
pos
- Bytecode offset.e
- Edge along which the Vertex will be created
public boolean exists(int pos)
public CodeVertex get(int pos)
pos
- Bytecode offset of first instruction in the block.
public int size()
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |