harpoon.Backend.Generic
Class MaxMunchCG

java.lang.Object
  extended by harpoon.Backend.Generic.CodeGen
      extended by harpoon.Backend.Generic.MaxMunchCG
Direct Known Subclasses:
CodeGen, CodeGen, CodeGen

public abstract class MaxMunchCG
extends CodeGen

MaxMunchCG is a MaximalMunchCGG specific extension of CodeGen. Its purpose is to incorporate functionality common to all target architectures but specific to the particular code generation strategy employed by the CGG. Other CodeGeneratorGenerator implementations should add their own extensions of CodeGen.

Version:
$Id: MaxMunchCG.java,v 1.6 2004/02/08 03:20:52 cananian Exp $
Author:
Felix S. Klock II <pnkfelix@mit.edu>

Field Summary
protected  Instr first
           
protected  Instr last
           
 
Fields inherited from class harpoon.Backend.Generic.CodeGen
frame, instrFactory
 
Constructor Summary
MaxMunchCG(Frame frame)
          Creates a MaxMunchCG.
 
Method Summary
protected  void _methodPrologue_(InstrFactory inf)
           
protected  Instr cgg_backendEmit(Instr i)
          Emits i as the next instruction in the instruction stream.
protected  void clearDecl()
           
 void declare(Temp t, Derivation.DList dl)
           
 void declare(Temp t, HClass clz)
           
protected  Derivation getDerivation()
           
protected  Temp makeTemp(TEMP t, TempFactory tf)
          tempmap from tree temps to instr temps
 
Methods inherited from class harpoon.Backend.Generic.CodeGen
cgg_genCode, cgg_genData, debug, declare, emit, endGroup, genCode, genData, prettyPrint, procFixup, procFixup, startGroup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

first

protected Instr first

last

protected Instr last
Constructor Detail

MaxMunchCG

public MaxMunchCG(Frame frame)
Creates a MaxMunchCG.

Method Detail

cgg_backendEmit

protected final Instr cgg_backendEmit(Instr i)
Emits i as the next instruction in the instruction stream.

Specified by:
cgg_backendEmit in class CodeGen

makeTemp

protected Temp makeTemp(TEMP t,
                        TempFactory tf)
tempmap from tree temps to instr temps


getDerivation

protected Derivation getDerivation()

declare

public void declare(Temp t,
                    HClass clz)
Specified by:
declare in class CodeGen

declare

public void declare(Temp t,
                    Derivation.DList dl)
Specified by:
declare in class CodeGen

clearDecl

protected void clearDecl()

_methodPrologue_

protected void _methodPrologue_(InstrFactory inf)