harpoon.Backend
Class Backend

java.lang.Object
  extended by harpoon.Backend.Backend

public abstract class Backend
extends Object

Backend is a convenient, top-level class for our many backends.

Version:
$Id: Backend.java,v 1.2 2003/03/28 20:26:22 salcianu Exp $
Author:
Alexandru Salcianu <salcianu@MIT.edu>

Field Summary
static String MIPS
          MIPS backend
static String MIPSDA
          MIPS with support for direct address registers
static String MIPSYP
          MIPS with support for last line accesses is tag unchecked
static String PRECISEC
          PreciseC backend.
static String SPARC
          SPARC backend
static String STRONGARM
          StrongARM backend
 
Constructor Summary
Backend()
           
 
Method Summary
static Frame getFrame(String backendName, HMethod mainMethod)
          Create a frame object, given the name of a backend.
static Frame getFrame(String backendName, HMethod mainMethod, AllocationStrategyFactory asFact)
          Create a frame object, given the name of a backend.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STRONGARM

public static final String STRONGARM
StrongARM backend


MIPS

public static final String MIPS
MIPS backend


SPARC

public static final String SPARC
SPARC backend


PRECISEC

public static final String PRECISEC
PreciseC backend. In this case, the compiler generates C files, full of data layout information to support precise garbage collectors.


MIPSYP

public static final String MIPSYP
MIPS with support for last line accesses is tag unchecked


MIPSDA

public static final String MIPSDA
MIPS with support for direct address registers

Constructor Detail

Backend

public Backend()
Method Detail

getFrame

public static Frame getFrame(String backendName,
                             HMethod mainMethod,
                             AllocationStrategyFactory asFact)
Create a frame object, given the name of a backend.

Parameters:
backendName - string name of the backend
mainMethod - main method of the compiled program
asFact - factory that produces the AllocationStrategy for compiling allocation sites. Currently, relevant only for the PreciseC backend.

getFrame

public static Frame getFrame(String backendName,
                             HMethod mainMethod)
Create a frame object, given the name of a backend.