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, setSuccessorsprotected 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)