joeq.Compiler.Quad
Class RegisterFactory

java.lang.Object
  extended by joeq.Compiler.Quad.RegisterFactory

public class RegisterFactory
extends java.lang.Object

Version:
$Id: RegisterFactory.java,v 1.21 2004/10/07 00:07:44 joewhaley Exp $
Author:
John Whaley

Nested Class Summary
static class RegisterFactory.Register
           
 
Constructor Summary
RegisterFactory(int nStack, int nLocal)
           
RegisterFactory(jq_Method m)
          Creates new RegisterFactory
 
Method Summary
 void addAll(RegisterFactory that)
           
 RegisterFactory deepCopy()
           
 java.util.Map deepCopyInto(RegisterFactory that)
           
 java.lang.String fullDump()
           
 RegisterFactory.Register get(int i)
           
 RegisterFactory.Register getOrCreateLocal(int i, jq_Type t)
           
 RegisterFactory.Register getOrCreateStack(int i, jq_Type t)
           
 java.util.Iterator iterator()
           
static Operand.RegisterOperand makeGuardReg()
           
 RegisterFactory.Register makePairedReg(RegisterFactory that, RegisterFactory.Register r2)
           
 RegisterFactory.Register makeReg(jq_Type type)
           
 RegisterFactory.Register makeReg(RegisterFactory.Register r2)
           
 Operand.RegisterOperand makeRegOp(jq_Type type)
           
 Operand.RegisterOperand makeRegOp(RegisterFactory.Register r2, jq_Type type)
           
 RegisterFactory.Register makeTempReg(jq_Type type)
           
 Operand.RegisterOperand makeTempRegOp(jq_Type type)
           
 int numberOfLocalRegisters()
           
 int numberOfStackRegisters()
           
 void renumberRegisters(short n)
           
 int size()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegisterFactory

public RegisterFactory(jq_Method m)
Creates new RegisterFactory


RegisterFactory

public RegisterFactory(int nStack,
                       int nLocal)
Method Detail

get

public RegisterFactory.Register get(int i)

makeReg

public RegisterFactory.Register makeReg(jq_Type type)

makeRegOp

public Operand.RegisterOperand makeRegOp(jq_Type type)

makeTempReg

public RegisterFactory.Register makeTempReg(jq_Type type)

makeTempRegOp

public Operand.RegisterOperand makeTempRegOp(jq_Type type)

makeGuardReg

public static Operand.RegisterOperand makeGuardReg()

makeReg

public RegisterFactory.Register makeReg(RegisterFactory.Register r2)

makeRegOp

public Operand.RegisterOperand makeRegOp(RegisterFactory.Register r2,
                                         jq_Type type)

makePairedReg

public RegisterFactory.Register makePairedReg(RegisterFactory that,
                                              RegisterFactory.Register r2)

getOrCreateStack

public RegisterFactory.Register getOrCreateStack(int i,
                                                 jq_Type t)

getOrCreateLocal

public RegisterFactory.Register getOrCreateLocal(int i,
                                                 jq_Type t)

renumberRegisters

public void renumberRegisters(short n)

addAll

public void addAll(RegisterFactory that)

deepCopy

public RegisterFactory deepCopy()

deepCopyInto

public java.util.Map deepCopyInto(RegisterFactory that)

numberOfStackRegisters

public int numberOfStackRegisters()

numberOfLocalRegisters

public int numberOfLocalRegisters()

size

public int size()

iterator

public java.util.Iterator iterator()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

fullDump

public java.lang.String fullDump()