public class LiveVariablesProblem extends DataFlowProblem
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) |
FlowGraphNode |
buildFlowGraphNode(BasicBlock bb) |
boolean |
dfVarExists(Variable v) |
Set<Variable> |
getAllVars() |
String |
getDataFlowVarsForOutput() |
DataFlowVar |
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) |
compute_MOP_Solution, getDFVarsCount, getFlowDirection, getFlowGraphNode, getIncomingSourcesOf, getOutgoingDestinationsOf, getScope, isEmpty, setup, toStringpublic static final String NAME
public LiveVariablesProblem(IRScope scope)
public DataFlowVar getDFVar(Variable v)
public boolean dfVarExists(Variable v)
public Variable getVariable(int id)
public FlowGraphNode buildFlowGraphNode(BasicBlock bb)
buildFlowGraphNode in class DataFlowProblempublic void addDFVar(Variable v)
public List<Variable> getVarsLiveOnScopeEntry()
public final void setup(IRScope scope, Collection<LocalVariable> allVars)
public String getDataFlowVarsForOutput()
getDataFlowVarsForOutput in class DataFlowProblempublic void markDeadInstructions()
public void setVarsLiveOnScopeExit(Collection<LocalVariable> vars)
public Collection<LocalVariable> getVarsLiveOnScopeExit()
public Set<LocalVariable> getNonSelfLocalVars()
public String getName()
getName in class DataFlowProblemCopyright © 2001–2024 JRuby. All rights reserved.