|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.Analysis.Quads.SCC.SCCOptimize
public final class SCCOptimize
SCCOptimize
optimizes the code after SCCAnalysis
.
The optimization invalidates the ExecMap
used.
All edges in the graph after optimization are executable.
(Edges leaving a CALL
quad may be an exception if your
ExecMap
marks one or both of the edges leaving the
CALL
non-executable.)
Constructor Summary | |
---|---|
SCCOptimize(SCCAnalysis scc)
|
|
SCCOptimize(TypeMap ti,
ConstMap cm,
ExecMap em)
Creates an SCCOptimize . |
Method Summary | |
---|---|
static HCodeFactory |
codeFactory(HCodeFactory parent)
Returns a code factory that uses SCCOptimize. |
boolean |
execMap(HCodeEdge e)
Returns the executable status of an HCodeEdge . |
boolean |
execMap(HCodeElement node)
Returns the executable status of an HCodeElement . |
void |
optimize(HCode hc)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SCCOptimize(TypeMap ti, ConstMap cm, ExecMap em)
SCCOptimize
.
public SCCOptimize(SCCAnalysis scc)
Method Detail |
---|
public static HCodeFactory codeFactory(HCodeFactory parent)
public boolean execMap(HCodeEdge e)
ExecMap
HCodeEdge
.
execMap
in interface ExecMap
e
- An edge between two HCodeElement
s in
some HCode
.
true
if it is possible to traverse this
edge during execution, or false
if it
can be proved that this edge will never be followed.public boolean execMap(HCodeElement node)
ExecMap
HCodeElement
.
execMap
in interface ExecMap
node
- The HCodeElement
to examine.
true
if it is possible to execute this
HCodeElement
; or false
if
it can be proved that this HCodeElement
will never be executed.public void optimize(HCode hc)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |