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 }