JML

org.multijava.util.backend
Class RegisterAllocation

java.lang.Object
  extended byorg.multijava.util.backend.TreeWalker
      extended byorg.multijava.util.backend.RegisterAllocation

public class RegisterAllocation
extends TreeWalker

This class allocate the the temporary to a minimal number of registers


Field Summary
private  InferenceNode[] infer
           
private  QTemporary[] temps
           
 
Fields inherited from class org.multijava.util.backend.TreeWalker
 
Constructor Summary
RegisterAllocation(MethodEnv env, BasicBlock[] bblocks, BasicBlock[] eblocks, LivenessAnalysis live)
          Creates a new instruction handle.
 
Method Summary
 InferenceNode[] getInferenceGraph()
          Returns the inference Graph
protected  void processNode(QNode node)
           
 void run()
          Runs the register allocation algorithm
private  void sort(InferenceNode[] temps)
           
 
Methods inherited from class org.multijava.util.backend.TreeWalker
getBasicBlock, kill, removeNode, traverse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

infer

private InferenceNode[] infer

temps

private QTemporary[] temps
Constructor Detail

RegisterAllocation

public RegisterAllocation(MethodEnv env,
                          BasicBlock[] bblocks,
                          BasicBlock[] eblocks,
                          LivenessAnalysis live)
Creates a new instruction handle.

Method Detail

run

public void run()
Runs the register allocation algorithm


getInferenceGraph

public InferenceNode[] getInferenceGraph()
Returns the inference Graph


processNode

protected void processNode(QNode node)
Description copied from class: TreeWalker
Processes the node


sort

private void sort(InferenceNode[] temps)

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.