Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/runtime/gc/addr-hash.h
ViewVC logotype

Annotation of /sml/trunk/src/runtime/gc/addr-hash.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 249 - (view) (download) (as text)
Original Path: sml/branches/SMLNJ/src/runtime/gc/addr-hash.h

1 : monnier 249 /* addr-hash.h
2 :     *
3 :     * COPYRIGHT (c) 1993 by AT&T Bell Laboratories.
4 :     *
5 :     * Hash tables for mapping addresses to objects.
6 :     */
7 :    
8 :     #ifndef _ADDR_HASH_
9 :     #define _ADDR_HASH_
10 :    
11 :     typedef struct addr_tbl addr_tbl_t;
12 :    
13 :     /* Allocate an address hash table.
14 :     */
15 :     extern addr_tbl_t *MakeAddrTbl (int ignoreBits, int size);
16 :    
17 :     /* Insert an object into a address hash table.
18 :     */
19 :     extern void AddrTblInsert (addr_tbl_t *tbl, Addr_t addr, void *obj);
20 :    
21 :     /* Return the object associated with the given address; return NIL, if not
22 :     * found.
23 :     */
24 :     extern void *AddrTblLookup (addr_tbl_t *tbl, Addr_t addr);
25 :    
26 :     /* Apply the given function to the elements of the table. The second
27 :     * argument to the function is the function's "closure," and the third is
28 :     * the associated info.
29 :     */
30 :     extern void AddrTblApply (addr_tbl_t *tbl, void *clos, void (*f) (Addr_t, void *, void *));
31 :    
32 :     /* Deallocate the space for an address table; if freeObjs is true, also deallocate
33 :     * the objects.
34 :     */
35 :     extern void FreeAddrTbl (addr_tbl_t *tbl, bool_t freeObjs);
36 :    
37 :     #endif /* !_ADDR_HASH_ */

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0