harpoon.Backend.StrongARM
Class Frame

java.lang.Object
  extended by harpoon.Backend.Generic.Frame
      extended by harpoon.Backend.StrongARM.Frame
All Implemented Interfaces:
Serializable

public class Frame
extends Frame

Frame contains the machine-dependant information necessary to compile for the StrongARM processor.

Version:
$Id: Frame.java,v 1.2 2002/02/25 21:02:50 cananian Exp $
Author:
Andrew Berkheimer <andyb@mit.edu>, Felix S. Klock II <pnkfelix@mit.edu>
See Also:
Serialized Form

Constructor Summary
Frame(HMethod main)
           
 
Method Summary
 HCodeFactory getCodeFactory(HCodeFactory hcf)
          Returns a code factory for machine-specific IR.Assems, given a code factory for CanonicalTreeCode.
 CodeGen getCodeGen()
          Returns a StrongARM.CodeGen.
 GCInfo getGCInfo()
          Returns the GCInfo for the backend associated with this.
 InstrBuilder getInstrBuilder()
          Returns the appropriate InstrBuilder for this Frame.
 Linker getLinker()
          The Linker object to use when compiling for this Frame.
 LocationFactory getLocationFactory()
          Returns the appropriate LocationFactory for this Frame.
 RegFileInfo getRegFileInfo()
          Returns the appropriate RegFileInfo for this Frame.
 Runtime getRuntime()
          Returns the appropriate Generic.Runtime for this Frame.
 TempBuilder getTempBuilder()
          Returns the Generic.TempBuilder for the backend associated with this.
 boolean pointersAreLong()
          Returns false if pointers can be represented in 32 bits, or true otherwise.
 
Methods inherited from class harpoon.Backend.Generic.Frame
setCallGraph, setClassHierarchy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Frame

public Frame(HMethod main)
Method Detail

getLinker

public Linker getLinker()
Description copied from class: Frame
The Linker object to use when compiling for this Frame.

Specified by:
getLinker in class Frame

pointersAreLong

public boolean pointersAreLong()
Description copied from class: Frame
Returns false if pointers can be represented in 32 bits, or true otherwise.

Specified by:
pointersAreLong in class Frame

getCodeGen

public CodeGen getCodeGen()
Returns a StrongARM.CodeGen. Since no state is maintained in the returned StrongARM.CodeGen, the same one is returned on every call to this method.

Specified by:
getCodeGen in class Frame

getRuntime

public Runtime getRuntime()
Description copied from class: Frame
Returns the appropriate Generic.Runtime for this Frame.

Specified by:
getRuntime in class Frame

getRegFileInfo

public RegFileInfo getRegFileInfo()
Description copied from class: Frame
Returns the appropriate RegFileInfo for this Frame.

Specified by:
getRegFileInfo in class Frame

getLocationFactory

public LocationFactory getLocationFactory()
Description copied from class: Frame
Returns the appropriate LocationFactory for this Frame.

Specified by:
getLocationFactory in class Frame

getInstrBuilder

public InstrBuilder getInstrBuilder()
Description copied from class: Frame
Returns the appropriate InstrBuilder for this Frame.

Specified by:
getInstrBuilder in class Frame

getTempBuilder

public TempBuilder getTempBuilder()
Description copied from class: Frame
Returns the Generic.TempBuilder for the backend associated with this.

Specified by:
getTempBuilder in class Frame

getGCInfo

public GCInfo getGCInfo()
Description copied from class: Frame
Returns the GCInfo for the backend associated with this. null may be returned in some cases. i.e. if precise garbage collection is not supported.

Specified by:
getGCInfo in class Frame

getCodeFactory

public HCodeFactory getCodeFactory(HCodeFactory hcf)
Description copied from class: Frame
Returns a code factory for machine-specific IR.Assems, given a code factory for CanonicalTreeCode. Uses the code generator defined by this frame. Returns null if this frame does not have a code factory that generates IR.Assem.Instrs.

Specified by:
getCodeFactory in class Frame