public final class Block extends AbstractBlockBase<Block>
Modifier and Type | Class and Description |
---|---|
private class |
Block.NodeIterator |
Modifier and Type | Field and Description |
---|---|
protected AbstractBeginNode |
beginNode |
protected Block |
distancedDominatorCache |
protected FixedNode |
endNode |
private LocationSet |
killLocations |
private LocationSet |
killLocationsBetweenThisAndDominator |
protected Loop<Block> |
loop |
protected Block |
postdominator |
protected double |
probability |
domDepth, id, predecessors, successors
Modifier | Constructor and Description |
---|---|
protected |
Block(AbstractBeginNode node) |
Modifier and Type | Method and Description |
---|---|
private LocationSet |
calcKillLocations() |
private void |
calcKillLocationsBetweenThisAndTarget(LocationSet result,
Block stopBlock) |
boolean |
canKill(LocationIdentity location) |
boolean |
canKillBetweenThisAndDominator(LocationIdentity location) |
AbstractBeginNode |
getBeginNode() |
Block |
getDominator(int distance) |
Block |
getEarliestPostDominated() |
FixedNode |
getEndNode() |
Block |
getFirstPredecessor() |
Block |
getFirstSuccessor() |
LocationSet |
getKillLocations() |
private LocationSet |
getKillLocationsBetweenThisAndDominator() |
Loop<Block> |
getLoop() |
int |
getLoopDepth() |
Iterable<FixedNode> |
getNodes() |
Block |
getPostdominator() |
boolean |
isExceptionEntry() |
boolean |
isLoopEnd() |
boolean |
isLoopHeader() |
double |
probability() |
void |
setLoop(Loop<Block> loop) |
void |
setProbability(double probability) |
String |
toString() |
getDominated, getDominator, getDominatorDepth, getDominatorNumber, getId, getLinearScanNumber, getMaxChildDominatorNumber, getPredecessorCount, getPredecessors, getSuccessorCount, getSuccessors, isAligned, setAlign, setDominated, setDominator, setDominatorNumbers, setId, setLinearScanNumber, setPredecessors, setSuccessors
protected final AbstractBeginNode beginNode
protected double probability
protected Block postdominator
protected Block distancedDominatorCache
private LocationSet killLocations
private LocationSet killLocationsBetweenThisAndDominator
protected Block(AbstractBeginNode node)
public AbstractBeginNode getBeginNode()
public FixedNode getEndNode()
public int getLoopDepth()
getLoopDepth
in class AbstractBlockBase<Block>
public boolean isLoopHeader()
isLoopHeader
in class AbstractBlockBase<Block>
public boolean isLoopEnd()
isLoopEnd
in class AbstractBlockBase<Block>
public boolean isExceptionEntry()
isExceptionEntry
in class AbstractBlockBase<Block>
public Block getFirstPredecessor()
public Block getFirstSuccessor()
public Block getEarliestPostDominated()
public Block getPostdominator()
getPostdominator
in class AbstractBlockBase<Block>
public String toString()
toString
in class AbstractBlockBase<Block>
public double probability()
probability
in class AbstractBlockBase<Block>
public void setProbability(double probability)
public Block getDominator(int distance)
getDominator
in class AbstractBlockBase<Block>
public boolean canKill(LocationIdentity location)
public LocationSet getKillLocations()
private LocationSet calcKillLocations()
public boolean canKillBetweenThisAndDominator(LocationIdentity location)
private LocationSet getKillLocationsBetweenThisAndDominator()
private void calcKillLocationsBetweenThisAndTarget(LocationSet result, Block stopBlock)