|
SandMark version 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sandmark.util.controlflowgraph.InterferenceGraph
InterferenceGraph analyzes accesses to local variables within a method to determine where variables are live. In addition, the analysis splits apart uses of the same local variable slot that are not related. NOTE: For watermarking purposes, this class turns all one byte load and store instructions (like aload_1) to their two byte equivalents (aload 1) This class may not be perfect - if you think you have detected a problem, email kheffner@cs.arizona.edu
Nested Class Summary | |
(package private) static class |
InterferenceGraph.PartialNode
Represents a part basic block as a live range. |
(package private) static class |
InterferenceGraph.RangeNode
Represents a whole basic block as a live range. |
Constructor Summary | |
InterferenceGraph(MethodCFG cfg)
Constructs an InterferenceGraph from a method control flow graph. |
Method Summary | |
java.util.ArrayList |
getVars()
Gets the list of LiveVariable objects in an array list. |
static void |
main(java.lang.String[] args)
For testing purposes only |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public InterferenceGraph(MethodCFG cfg)
cfg
- the control flow graph for the method to analyzeMethod Detail |
public java.util.ArrayList getVars()
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
|
SandMark version 2.1 Wed Jul 3 17:27:43 MST 2002 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |