public class LiveVariablesProblem extends DataFlowProblem<LiveVariablesProblem,LiveVariableNode>
DataFlowProblem.DF_Direction
Modifier and Type | Field and Description |
---|---|
static String |
NAME |
direction, flowGraphNodes, scope
Constructor and Description |
---|
LiveVariablesProblem(IRScope scope) |
Modifier and Type | Method and Description |
---|---|
void |
addDFVar(Variable v) |
Set<LocalVariable> |
addLiveLocalVars(Set<LocalVariable> list,
BitSet living)
Add all local variables of interest from the provided bitset.
|
LiveVariableNode |
buildFlowGraphNode(BasicBlock bb) |
boolean |
dfVarExists(Variable v) |
Set<Variable> |
getAllVars() |
String |
getDataFlowVarsForOutput() |
Integer |
getDFVar(Variable v) |
String |
getName() |
Set<LocalVariable> |
getNonSelfLocalVars() |
Variable |
getVariable(int id) |
List<Variable> |
getVarsLiveOnScopeEntry()
Get variables that are live on entry to the cfg.
|
Collection<LocalVariable> |
getVarsLiveOnScopeExit() |
void |
markDeadInstructions() |
void |
setup(IRScope scope,
Collection<LocalVariable> allVars)
Initialize the problem with all vars from the surrounding scope variables.
|
void |
setVarsLiveOnScopeExit(Collection<LocalVariable> vars) |
addDataFlowVar, compute_MOP_Solution, generateWorkList, getDFVarsCount, getEntryNode, getExitNode, getFlowDirection, getFlowGraphNode, getScope, isEmpty, setup, toString
public static final String NAME
public LiveVariablesProblem(IRScope scope)
public boolean dfVarExists(Variable v)
public Variable getVariable(int id)
public LiveVariableNode buildFlowGraphNode(BasicBlock bb)
buildFlowGraphNode
in class DataFlowProblem<LiveVariablesProblem,LiveVariableNode>
public void addDFVar(Variable v)
public Set<LocalVariable> addLiveLocalVars(Set<LocalVariable> list, BitSet living)
public List<Variable> getVarsLiveOnScopeEntry()
public final void setup(IRScope scope, Collection<LocalVariable> allVars)
public String getDataFlowVarsForOutput()
getDataFlowVarsForOutput
in class DataFlowProblem<LiveVariablesProblem,LiveVariableNode>
public void markDeadInstructions()
public void setVarsLiveOnScopeExit(Collection<LocalVariable> vars)
public Collection<LocalVariable> getVarsLiveOnScopeExit()
public Set<LocalVariable> getNonSelfLocalVars()
public String getName()
getName
in class DataFlowProblem<LiveVariablesProblem,LiveVariableNode>
Copyright © 2001-2015 JRuby. All Rights Reserved.