[project @ 1998-12-02 13:17:09 by simonm]
[ghc-hetmet.git] / ghc / rts / StablePtr.h
1 /* -----------------------------------------------------------------------------
2  * $Id: StablePtr.h,v 1.2 1998/12/02 13:28:49 simonm Exp $
3  *
4  * Stable pointers
5  *
6  * ---------------------------------------------------------------------------*/
7
8 extern StgPtr *stable_ptr_table;
9 extern StgPtr *stable_ptr_free;
10
11 extern void initStablePtrTable(void);
12 extern void markStablePtrTable(void);
13 extern void enlargeStablePtrTable(void);
14
15 static inline StgPtr
16 deRefStablePointer(StgInt stable_ptr)
17 {
18   return stable_ptr_table[stable_ptr];
19 }
20
21 extern void   performIO(StgStablePtr stableIndex);