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, toString
public 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 DataFlowProblem
public void addDFVar(Variable v)
public List<Variable> getVarsLiveOnScopeEntry()
public final void setup(IRScope scope, Collection<LocalVariable> allVars)
public String getDataFlowVarsForOutput()
getDataFlowVarsForOutput
in class DataFlowProblem
public void markDeadInstructions()
public void setVarsLiveOnScopeExit(Collection<LocalVariable> vars)
public Collection<LocalVariable> getVarsLiveOnScopeExit()
public Set<LocalVariable> getNonSelfLocalVars()
public String getName()
getName
in class DataFlowProblem
Copyright © 2001-2013 JRuby. All Rights Reserved.