1 salcianu 1.1 // AllocationNumberingInterf.java, created Sat Feb 1 19:51:12 2003 by salcianu 2 salcianu 1.1 // Copyright (C) 2000 Alexandru SALCIANU <salcianu@MIT.EDU> 3 salcianu 1.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 salcianu 1.1 package harpoon.Instrumentation.AllocationStatistics; 5 salcianu 1.1 6 salcianu 1.1 import java.util.Set; 7 salcianu 1.1 import harpoon.IR.Quads.Quad; 8 salcianu 1.1 9 salcianu 1.1 /** 10 salcianu 1.1 * Objects that implement <code>AllocationNumberingInterf</code> 11 salcianu 1.1 * provide unique integer IDs for all allocation sites from a program. 12 salcianu 1.1 * Note: the getID method from the Quad class provides an integer that 13 salcianu 1.1 * is only locally unique (in the method of that quad). 14 salcianu 1.1 * 15 salcianu 1.1 * @author Alexandru SALCIANU <salcianu@MIT.EDU> 16 salcianu 1.2 * @version $Id: AllocationNumberingInterf.java,v 1.2 2003/02/11 20:16:01 salcianu Exp $ 17 salcianu 1.1 */ 18 salcianu 1.1 public interface AllocationNumberingInterf { 19 salcianu 1.2 /** @return a unique identifier for the allocation site 20 salcianu 1.2 <code>q</code>. 21 salcianu 1.2 22 salcianu 1.2 May throw <code>UnknownAllocationSiteError</code> if the 23 salcianu 1.2 instrumentation has not seen that allocation site when the 24 salcianu 1.2 unique IDs where assigned. */ 25 salcianu 1.2 int allocID(Quad q); 26 salcianu 1.1 }