public class VariableLivenessGraph
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
class |
VariableLivenessGraph.CFNode
Represents a node in a ControlFlow graph.
|
| Modifier and Type | Field and Description |
|---|---|
int |
firstLocalIndex |
int |
maxLocals |
java.util.concurrent.atomic.AtomicInteger |
nodeCounter |
| Constructor and Description |
|---|
VariableLivenessGraph(int maxLocals,
int firstLocalIndex,
Block start) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCFEdge(Block target,
java.util.List<LocalVariable> currentStack) |
void |
addExceptionHandler(Block handler,
LocalVariable var) |
void |
addExceptionLink(Block handler) |
void |
addHandlerLink(Block handler) |
void |
applyAllReplacements(BlockContainer mainContainer) |
void |
applyLVInfo(LocalVariable from) |
java.util.List<VariableLivenessGraph.CFNode> |
getAllNodes() |
LocalVariable |
getEquivalentVar(LocalVariable var) |
java.util.List<org.apache.commons.lang3.tuple.Pair<LocalVariable,VariableLivenessGraph.CFNode>> |
getLVLoads() |
boolean |
isDead(Block block) |
void |
markNode(java.lang.String name) |
LocalReference |
readLocal(int index) |
java.util.List<LocalVariable> |
visitBlock(Block block) |
void |
visitStore(Store store) |
public final int maxLocals
public final int firstLocalIndex
public final java.util.concurrent.atomic.AtomicInteger nodeCounter
public VariableLivenessGraph(int maxLocals,
int firstLocalIndex,
Block start)
public java.util.List<VariableLivenessGraph.CFNode> getAllNodes()
public java.util.List<org.apache.commons.lang3.tuple.Pair<LocalVariable,VariableLivenessGraph.CFNode>> getLVLoads()
public void addExceptionHandler(Block handler, LocalVariable var)
public LocalReference readLocal(int index)
public void visitStore(Store store)
public void addExceptionLink(Block handler)
public void addHandlerLink(Block handler)
public void addCFEdge(Block target, java.util.List<LocalVariable> currentStack)
public void markNode(java.lang.String name)
public java.util.List<LocalVariable> visitBlock(Block block)
public void applyLVInfo(LocalVariable from)
public boolean isDead(Block block)
public void applyAllReplacements(BlockContainer mainContainer)
public LocalVariable getEquivalentVar(LocalVariable var)