harpoon.Analysis.DataFlow
Class CachingLiveTemps
java.lang.Object
|
+--harpoon.Analysis.BasicBlockInterfVisitor
|
+--harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
|
+--harpoon.Analysis.DataFlow.BackwardDataFlowBasicBlockVisitor
|
+--harpoon.Analysis.DataFlow.LiveVars.BBVisitor
|
+--harpoon.Analysis.DataFlow.LiveTemps
|
+--harpoon.Analysis.DataFlow.CachingLiveTemps
- public class CachingLiveTemps
- extends LiveTemps
CachingLiveTemps
is an extension of
LiveTemps
that keeps a cache of the recent results
that it calculated. The cache keeps the last few basic blocks
accessed, along with the results of liveness analysis on all of the
statements in the basic blocks.
- Version:
- $Id: CachingLiveTemps.java,v 1.2 2002/02/25 20:56:36 cananian Exp $
- Author:
- Felix S. Klock II <pnkfelix@mit.edu>
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CachingLiveTemps
public CachingLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit)
- Creates a
CachingLiveTemps
.
CachingLiveTemps
public CachingLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
UseDefer ud)
CachingLiveTemps
public CachingLiveTemps(BasicBlock.Factory bbf,
Set liveOnExit,
SetFactory tempSetFact,
UseDefer ud)
make
public static LiveTemps make(HCode code,
Set liveOnExit)
- Description copied from class:
LiveTemps
- Produces a default live variable analysis object and solves
it. elements in
code
must implement
UseDefable
, CFGraphable
, etc, and
liveOnExit
must be a Set of Temps that are live
on exit from code
.
cachePerformance
public String cachePerformance()
getLiveAfter
public Set getLiveAfter(HCodeElement hce)
- Description copied from class:
LiveTemps
- Returns the
Set
of Temp
s that are
live on exit from hce
.
requires: A DataFlow Equation Solver has been run
to completion on the graph of BasicBlock
s
containing some block that contains hce
,
with this
as the
DataFlowBasicBlockVisitor
.
effects: Returns a Set
of
Temp
s that are live on exit from
hce
.
- Overrides:
getLiveAfter
in class LiveTemps