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) |
LiveVariableNode |
buildFlowGraphNode(BasicBlock bb) |
boolean |
dfVarExists(Variable v) |
Set<Variable> |
getAllVars() |
String |
getDataFlowVarsForOutput() |
Integer |
getDFVar(Variable v) |
Collection<LocalVariable> |
getLocalVarsLiveOnScopeEntry()
Get variables that are live on entry to the cfg.
|
String |
getName() |
Set<LocalVariable> |
getNonSelfLocalVars() |
Variable |
getVariable(int id) |
Collection<LocalVariable> |
getVarsLiveOnScopeExit() |
void |
markDeadInstructions() |
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 Collection<LocalVariable> getLocalVarsLiveOnScopeEntry()
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-2016 JRuby. All Rights Reserved.