1 /* -----------------------------------------------------------------------------
3 * (c) The GHC Team, 1998-2004
7 * ---------------------------------------------------------------------------*/
12 EXTERN_INLINE StgPtr deRefStablePtr (StgStablePtr stable_ptr);
13 StgStablePtr getStablePtr (StgPtr p);
15 /* -----------------------------------------------------------------------------
17 -------------------------------------------------------------------------- */
20 StgPtr addr; /* Haskell object, free list, or NULL */
21 StgPtr old; /* old Haskell object, used during GC */
22 StgWord ref; /* used for reference counting */
23 StgClosure *sn_obj; /* the StableName object (or NULL) */
26 extern DLL_IMPORT_RTS snEntry *stable_ptr_table;
29 StgPtr deRefStablePtr(StgStablePtr sp)
31 ASSERT(stable_ptr_table[(StgWord)sp].ref > 0);
32 return stable_ptr_table[(StgWord)sp].addr;
35 #endif /* RTS_STABLE_H */