1 cananian 1.1.2.1 // AllocationInfo.java, created Wed Jul 28 16:08:24 1999 by duncan 2 cananian 1.1.2.1 // Copyright (C) 1998 Duncan Bryce <duncan@lcs.mit.edu> 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 cananian 1.1.2.1 package harpoon.Interpret.Tree; 5 cananian 1.1.2.1 6 cananian 1.1.2.1 import harpoon.Temp.Label; 7 cananian 1.1.2.1 import harpoon.Temp.Temp; 8 cananian 1.1.2.1 9 cananian 1.1.2.1 /** 10 cananian 1.1.2.1 * The <code>AllocationInfo</code> interface specifies information assumed 11 cananian 1.1.2.1 * to be needed for most memory allocation schemes. 12 cananian 1.1.2.1 * 13 cananian 1.1.2.1 * @author Duncan Bryce <duncan@lcs.mit.edu> 14 cananian 1.2 * @version $Id: AllocationInfo.java,v 1.2 2002/02/25 21:05:50 cananian Exp $ 15 cananian 1.1.2.1 */ 16 cananian 1.1.2.2 interface AllocationInfo { 17 cananian 1.1.2.1 18 cananian 1.1.2.1 /** Returns the label of the garbage collection function */ 19 cananian 1.1.2.1 public Label GC(); 20 cananian 1.1.2.1 21 cananian 1.1.2.1 /** Returns a pointer to the highest available address in memory. */ 22 cananian 1.1.2.1 public Temp getMemLimit(); 23 cananian 1.1.2.1 24 cananian 1.1.2.1 /** Returns a pointer to the next free address in memory */ 25 cananian 1.1.2.1 public Temp getNextPtr(); 26 cananian 1.1.2.1 27 cananian 1.1.2.1 /** Returns the label of a function which exits with an out of memory 28 cananian 1.1.2.1 * error */ 29 cananian 1.1.2.1 public Label exitOutOfMemory(); 30 cananian 1.1.2.1 } 31 cananian 1.2