/* -----------------------------------------------------------------------------
- * $Id: StoragePriv.h,v 1.4 1999/01/18 15:21:40 simonm Exp $
+ * $Id: StoragePriv.h,v 1.9 1999/11/02 15:06:05 simonmar Exp $
+ *
+ * (c) The GHC Team, 1998-1999
*
* Internal Storage Manger Interface
*
nat n_steps; /* number of steps */
nat max_blocks; /* max blocks in step 0 */
StgMutClosure *mut_list; /* mutable objects in this generation (not G0)*/
+ StgMutClosure *mut_once_list; /* objects that point to younger generations */
/* temporary use during GC: */
StgMutClosure *saved_mut_list;
extern nat alloc_blocks;
extern nat alloc_blocks_lim;
+/* Nursery manipulation */
+extern void allocNurseries ( void );
+extern void resetNurseries ( void );
+extern bdescr * allocNursery ( bdescr *last_bd, nat blocks );
+extern void resizeNursery ( nat blocks );
+
+/* Stats 'n' stuff */
+extern lnat calcAllocated ( void );
+extern lnat calcLive ( void );
+extern lnat calcNeeded ( void );
+
static inline void
dbl_link_onto(bdescr *bd, bdescr **list)
{
#ifdef DEBUG
extern void memInventory(void);
+extern void checkSanity(nat N);
#endif
#endif /* STORAGEPRIV_H */