[project @ 2005-05-27 14:47:08 by tharris]
[ghc-hetmet.git] / ghc / includes / Storage.h
index 69ddef6..597ce2e 100644 (file)
@@ -139,6 +139,7 @@ extern void exitStorage(void);
    -------------------------------------------------------------------------- */
 
 extern StgPtr  allocate        ( nat n );
+extern StgPtr  allocateLocal   ( StgRegTable *reg, nat n );
 extern StgPtr  allocatePinned  ( nat n );
 extern lnat    allocated_bytes ( void );
 
@@ -193,6 +194,9 @@ extern void GarbageCollect(void (*get_roots)(evac_fn),rtsBool force_major_gc);
  */
 #if defined(SMP)
 extern Mutex sm_mutex;
+#endif
+
+#if defined(SMP)
 #define ACQUIRE_SM_LOCK   ACQUIRE_LOCK(&sm_mutex);
 #define RELEASE_SM_LOCK   RELEASE_LOCK(&sm_mutex);
 #else
@@ -369,11 +373,12 @@ INLINE_HEADER StgWord stack_frame_sizeW( StgClosure *frame )
    Nursery manipulation
    -------------------------------------------------------------------------- */
 
-extern void     allocNurseries     ( void );
-extern void     resetNurseries     ( void );
-extern void     resizeNurseries    ( nat blocks );
-extern void     tidyAllocateLists  ( void );
-extern lnat     countNurseryBlocks ( void );
+extern void     allocNurseries       ( void );
+extern void     resetNurseries       ( void );
+extern void     resizeNurseries      ( nat blocks );
+extern void     resizeNurseriesFixed ( nat blocks );
+extern void     tidyAllocateLists    ( void );
+extern lnat     countNurseryBlocks   ( void );
 
 /* -----------------------------------------------------------------------------
    Functions from GC.c 
@@ -397,6 +402,7 @@ extern lnat calcNeeded     ( void );
 extern void memInventory(void);
 extern void checkSanity(void);
 extern nat  countBlocks(bdescr *);
+extern void checkNurserySanity( step *stp );
 #endif
 
 #if defined(DEBUG)
@@ -415,7 +421,6 @@ extern void newDynCAF(StgClosure *);
 extern void move_TSO(StgTSO *src, StgTSO *dest);
 extern StgTSO *relocate_stack(StgTSO *dest, ptrdiff_t diff);
 
-extern StgClosure * RTS_VAR(static_objects);
 extern StgClosure * RTS_VAR(scavenged_static_objects);
 extern StgWeak    * RTS_VAR(old_weak_ptr_list);
 extern StgWeak    * RTS_VAR(weak_ptr_list);