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 }