public class CFG extends Object
Modifier and Type | Class and Description |
---|---|
static class |
CFG.EdgeType |
public CFG(IRScope scope)
public int getNextBBID()
public IRManager getManager()
public int getMaxNodeID()
public boolean bbIsProtected(BasicBlock b)
public BasicBlock getBBForLabel(Label label)
public BasicBlock getEntryBB()
public BasicBlock getExitBB()
public BasicBlock getGlobalEnsureBB()
public LinkedList<BasicBlock> postOrderList()
public Iterator<BasicBlock> getPostOrderTraverser()
public Iterator<BasicBlock> getReversePostOrderTraverser()
public void resetState()
public IRScope getScope()
public int size()
public Collection<BasicBlock> getBasicBlocks()
public Collection<BasicBlock> getSortedBasicBlocks()
public void addEdge(BasicBlock source, BasicBlock destination, Object type)
public int inDegree(BasicBlock b)
public int outDegree(BasicBlock b)
public Iterable<BasicBlock> getIncomingSources(BasicBlock block)
public Iterable<org.jruby.dirgra.Edge<BasicBlock>> getIncomingEdges(BasicBlock block)
public BasicBlock getIncomingSourceOfType(BasicBlock block, Object type)
public BasicBlock getOutgoingDestinationOfType(BasicBlock block, Object type)
public Iterable<BasicBlock> getOutgoingDestinations(BasicBlock block)
public Iterable<BasicBlock> getOutgoingDestinationsOfType(BasicBlock block, Object type)
public Iterable<BasicBlock> getOutgoingDestinationsNotOfType(BasicBlock block, Object type)
public Collection<org.jruby.dirgra.Edge<BasicBlock>> getOutgoingEdges(BasicBlock block)
public BasicBlock getRescuerBBFor(BasicBlock block)
public void addGlobalEnsureBB(BasicBlock geb)
public void setRescuerBB(BasicBlock block, BasicBlock rescuerBlock)
public org.jruby.dirgra.DirectedGraph<BasicBlock> build(Instr[] instrs)
public void addBasicBlock(BasicBlock bb)
public void removeAllOutgoingEdgesForBB(BasicBlock b)
public void removeBB(BasicBlock b)
public void collapseStraightLineBBs()
public String toStringGraph()
public String toStringInstrs()
public void removeEdge(BasicBlock a, BasicBlock b)
Copyright © 2001-2015 JRuby. All Rights Reserved.