1 cananian 1.1.2.1 // AllocationStrategy.java, created Mon Feb 15  3:38:00 1999 by duncan
 2 cananian 1.1.2.1 // Copyright (C) 1998 Duncan Bryce <duncan@lcs.mit.edu>
 3 cananian 1.1.2.2 // Copyright (C) 1999 C. Scott Ananian <cananian@alumni.princeton.edu>
 4 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 5 cananian 1.1.2.1 package harpoon.Backend.Runtime1;
 6 cananian 1.1.2.1 
 7 cananian 1.1.2.5 import harpoon.Analysis.Maps.AllocationInformation.AllocationProperties;
 8 cananian 1.1.2.2 import harpoon.ClassFile.HCodeElement;
 9 cananian 1.1.2.1 import harpoon.IR.Tree.Exp;
10 cananian 1.1.2.4 import harpoon.IR.Tree.DerivationGenerator;
11 cananian 1.1.2.2 import harpoon.IR.Tree.TreeFactory;
12 cananian 1.1.2.1 
13 cananian 1.1.2.3 /** An <code>AllocationStrategy</code> is a particular implementation
14 cananian 1.1.2.2  * of a memory allocation routine.
15 cananian 1.1.2.1  * @author Duncan Bryce <duncan@lcs.mit.edu>
16 cananian 1.1.2.2  * @author C. Scott Ananian <cananian@alumni.princeton.edu>
17 salcianu 1.3      * @version $Id: AllocationStrategy.java,v 1.3 2003/04/19 01:03:55 salcianu Exp $
18 cananian 1.1.2.1  */
19 salcianu 1.3     public abstract class AllocationStrategy implements java.io.Serializable {
20 cananian 1.1.2.2     /** Return a <code>Tree.Exp</code> created with the given
21 cananian 1.1.2.2      *  <code>TreeFactory</code> that returns a pointer to a piece of
22 cananian 1.1.2.2      *  memory <code>length</code> bytes long. */
23 cananian 1.1.2.2     public abstract Exp memAlloc(TreeFactory tf, HCodeElement source,
24 cananian 1.1.2.4                                  DerivationGenerator dg,
25 cananian 1.1.2.5                                  AllocationProperties ap,
26 cananian 1.1.2.2                                  Exp length);
27 cananian 1.2     }