|
SandMark version 2.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--sandmark.watermark.potkonjak.RegisterAllocator
RegisterAllocator performs analysis on a control flow graph and determines the minimum amount of local variables needed in a method.
LocalVariable
Nested Class Summary | |
(package private) class |
RegisterAllocator.IGNode
IGNode is a node in the interference graph. |
Field Summary | |
(package private) EDU.purdue.cs.bloat.cfg.FlowGraph |
cfg
|
(package private) java.util.Vector |
coloring
|
(package private) java.util.Map |
colors
|
(package private) int |
colorsUsed
|
(package private) EDU.purdue.cs.bloat.util.Graph |
ig
|
(package private) livenessAnalysis |
liveness
|
(package private) static float |
LOOP_FACTOR
|
(package private) static int |
MAX_DEPTH
|
(package private) static float |
MAX_WEIGHT
|
Constructor Summary | |
RegisterAllocator(EDU.purdue.cs.bloat.cfg.FlowGraph cfg,
livenessAnalysis liveness)
Constructor. |
|
RegisterAllocator(EDU.purdue.cs.bloat.cfg.FlowGraph cfg,
livenessAnalysis liveness,
java.util.Vector coloring,
livenessAnalysis.IGNode[] sortedNodes)
This constructor was added so that a specific coloring could be passed. |
Method Summary | |
EDU.purdue.cs.bloat.util.Graph |
getRegIG()
|
int |
maxLocals()
Returns the maximum number of local variables used by the cfg after its "registers" (local variables) have been allocated. |
EDU.purdue.cs.bloat.editor.LocalVariable |
newLocal(EDU.purdue.cs.bloat.editor.Type type)
Creates a new local variable in this method (as modeled by the cfg). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
EDU.purdue.cs.bloat.cfg.FlowGraph cfg
livenessAnalysis liveness
java.util.Vector coloring
java.util.Map colors
int colorsUsed
static final float MAX_WEIGHT
static final float LOOP_FACTOR
static final int MAX_DEPTH
final EDU.purdue.cs.bloat.util.Graph ig
Constructor Detail |
public RegisterAllocator(EDU.purdue.cs.bloat.cfg.FlowGraph cfg, livenessAnalysis liveness)
FlowGraph
,
LocalVariable
public RegisterAllocator(EDU.purdue.cs.bloat.cfg.FlowGraph cfg, livenessAnalysis liveness, java.util.Vector coloring, livenessAnalysis.IGNode[] sortedNodes)
Method Detail |
public EDU.purdue.cs.bloat.util.Graph getRegIG()
public int maxLocals()
public EDU.purdue.cs.bloat.editor.LocalVariable newLocal(EDU.purdue.cs.bloat.editor.Type type)
|
SandMark version 2.0 Mon Jun 17 12:30:47 MST 2002 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |