public class EarliestnessComputation
extends java.lang.Object
Note that this computation is linear in the number of units, as we don't need to find any fixed-point.
UpSafetyAnalysis,
DownSafetyAnalysis| Constructor and Description |
|---|
EarliestnessComputation(UnitGraph unitGraph,
UpSafetyAnalysis upSafe,
DownSafetyAnalysis downSafe,
SideEffectTester sideEffect)
given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the
earliest-computation.
|
EarliestnessComputation(UnitGraph unitGraph,
UpSafetyAnalysis upSafe,
DownSafetyAnalysis downSafe,
SideEffectTester sideEffect,
FlowSet<EquivalentValue> set)
given an UpSafetyAnalysis and a DownSafetyAnalysis, performs the
earliest-computation.
allows to share sets over multiple analyses (set-operations are usually more efficient, if the sets come from the same source). |
| Modifier and Type | Method and Description |
|---|---|
FlowSet<EquivalentValue> |
getFlowBefore(java.lang.Object node)
returns the FlowSet of expressions, that have their earliest computation
just before
node. |
public EarliestnessComputation(UnitGraph unitGraph, UpSafetyAnalysis upSafe, DownSafetyAnalysis downSafe, SideEffectTester sideEffect)
unitGraph - the Unitgraph we'll work on.upSafe - a UpSafetyAnalysis of unitGraphdownSafe - a DownSafetyAnalysis of unitGraphsideEffect - the SideEffectTester that will tell if a node is transparent
or not.public EarliestnessComputation(UnitGraph unitGraph, UpSafetyAnalysis upSafe, DownSafetyAnalysis downSafe, SideEffectTester sideEffect, FlowSet<EquivalentValue> set)
unitGraph - the Unitgraph we'll work on.upSafe - a UpSafetyAnalysis of unitGraphdownSafe - a DownSafetyAnalysis of unitGraphsideEffect - the SideEffectTester that will tell if a node is transparent
or not.set - the shared set.public FlowSet<EquivalentValue> getFlowBefore(java.lang.Object node)
node.node - a Object of the flow-graph (in our case always a unit).