| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractBlockBase.BlockIdComparator |
| Modifier and Type | Field and Description |
|---|---|
static AbstractBlockBase.BlockIdComparator |
BLOCK_ID_COMPARATOR |
protected int |
domDepth |
static double[] |
EMPTY_PROBABILITY_ARRAY |
protected int |
id |
protected T[] |
predecessors |
static double[] |
SINGLETON_PROBABILITY_ARRAY |
protected double[] |
successorProbabilities |
protected T[] |
successors |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractBlockBase() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
delete() |
T |
getDominatedSibling() |
T |
getDominator() |
abstract T |
getDominator(int distance) |
int |
getDominatorDepth()
Level in the dominator tree starting with 0 for the start block.
|
int |
getDominatorNumber() |
T |
getDominatorSkipLoops()
Returns the next dominator of this block that is either in the same loop of this block or in
an outer loop.
|
T |
getFirstDominated() |
int |
getId() |
int |
getLinearScanNumber() |
abstract Loop<T> |
getLoop() |
abstract int |
getLoopDepth() |
int |
getMaxChildDominatorNumber() |
abstract T |
getPostdominator() |
int |
getPredecessorCount() |
T[] |
getPredecessors() |
abstract double |
getRelativeFrequency() |
int |
getSuccessorCount() |
double[] |
getSuccessorProbabilities() |
T[] |
getSuccessors() |
int |
hashCode() |
boolean |
isAligned() |
abstract boolean |
isExceptionEntry() |
abstract boolean |
isLoopEnd() |
abstract boolean |
isLoopHeader() |
abstract long |
numBackedges()
If this block is a loop header, returns the number of the loop's
backedges.
|
void |
setAlign(boolean align) |
void |
setDominatedSibling(T block) |
void |
setDominator(T dominator) |
void |
setDominatorNumber(int domNumber) |
void |
setFirstDominated(T block) |
void |
setId(int id) |
void |
setLinearScanNumber(int linearScanNumber) |
void |
setMaxChildDomNumber(int maxChildDomNumber) |
void |
setPredecessors(T[] predecessors) |
void |
setSuccessorProbabilities(double[] successorProbabilities) |
void |
setSuccessors(T[] successors) |
void |
setSuccessors(T[] successors,
double[] successorProbabilities) |
String |
toString() |
public static final double[] EMPTY_PROBABILITY_ARRAY
public static final double[] SINGLETON_PROBABILITY_ARRAY
protected int id
protected int domDepth
protected T extends AbstractBlockBase<T>[] predecessors
protected T extends AbstractBlockBase<T>[] successors
protected double[] successorProbabilities
public static final AbstractBlockBase.BlockIdComparator BLOCK_ID_COMPARATOR
public void setDominatorNumber(int domNumber)
public void setMaxChildDomNumber(int maxChildDomNumber)
public int getDominatorNumber()
public int getMaxChildDominatorNumber()
public int getId()
public void setId(int id)
public T[] getPredecessors()
public void setPredecessors(T[] predecessors)
public T[] getSuccessors()
public void setSuccessors(T[] successors)
public void setSuccessors(T[] successors, double[] successorProbabilities)
public double[] getSuccessorProbabilities()
public void setSuccessorProbabilities(double[] successorProbabilities)
public T getDominator()
public T getDominatorSkipLoops()
public void setDominator(T dominator)
public int getDominatorDepth()
public T getFirstDominated()
public void setFirstDominated(T block)
public T getDominatedSibling()
public void setDominatedSibling(T block)
public int getPredecessorCount()
public int getSuccessorCount()
public int getLinearScanNumber()
public void setLinearScanNumber(int linearScanNumber)
public boolean isAligned()
public void setAlign(boolean align)
public abstract boolean isExceptionEntry()
public abstract int getLoopDepth()
public abstract void delete()
public abstract boolean isLoopEnd()
public abstract boolean isLoopHeader()
public abstract long numBackedges()
AbstractBlockBase.getLoop(). Returns -1 if this is not a loop header.public abstract T getPostdominator()
public abstract double getRelativeFrequency()
public abstract T getDominator(int distance)