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 unitGraph
downSafe
- a DownSafetyAnalysis of unitGraph
sideEffect
- 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 unitGraph
downSafe
- a DownSafetyAnalysis of unitGraph
sideEffect
- 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).