X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FStorage.h;h=fdb6a4692500decf1aee50b3880751e00b64182e;hb=a0f6d307b097bd788e181434a4d9b7fdd56a6c6b;hp=30bdf54a1d9cc21edf7d63ca5b00d16b904aaa74;hpb=5270423a6afe69f1dc57e5e5a474812182718d40;p=ghc-hetmet.git diff --git a/rts/sm/Storage.h b/rts/sm/Storage.h index 30bdf54..fdb6a46 100644 --- a/rts/sm/Storage.h +++ b/rts/sm/Storage.h @@ -11,7 +11,7 @@ #include "Capability.h" -BEGIN_RTS_PRIVATE +#include "BeginPrivate.h" /* ----------------------------------------------------------------------------- Initialisation / De-initialisation @@ -19,7 +19,7 @@ BEGIN_RTS_PRIVATE void initStorage(void); void exitStorage(void); -void freeStorage(void); +void freeStorage(rtsBool free_heap); /* ----------------------------------------------------------------------------- Storage manager state @@ -29,7 +29,7 @@ INLINE_HEADER rtsBool doYouWantToGC( Capability *cap ) { return (cap->r.rCurrentNursery->link == NULL || - cap->r.rNursery->n_large_blocks >= alloc_blocks_lim); + g0->n_new_large_words >= large_alloc_lim); } /* for splitting blocks groups in two */ @@ -121,9 +121,10 @@ void dirty_MVAR(StgRegTable *reg, StgClosure *p); Nursery manipulation -------------------------------------------------------------------------- */ -extern step *nurseries; +extern nursery *nurseries; void resetNurseries ( void ); +lnat clearNurseries ( void ); void resizeNurseries ( nat blocks ); void resizeNurseriesFixed ( nat blocks ); lnat countNurseryBlocks ( void ); @@ -132,33 +133,25 @@ lnat countNurseryBlocks ( void ); Stats 'n' DEBUG stuff -------------------------------------------------------------------------- */ -extern ullong total_allocated; - -lnat calcAllocated (void); +lnat calcAllocated (rtsBool count_nurseries); lnat calcLiveBlocks (void); lnat calcLiveWords (void); lnat countOccupied (bdescr *bd); lnat calcNeeded (void); -HsInt64 getAllocations (void); - -#if defined(DEBUG) -void memInventory (rtsBool show); -void checkSanity (void); -nat countBlocks (bdescr *); -void checkNurserySanity (step *stp); -#endif /* ---------------------------------------------------------------------------- Storage manager internal APIs and globals ------------------------------------------------------------------------- */ +extern bdescr *exec_block; + #define END_OF_STATIC_LIST ((StgClosure*)1) -void move_TSO (StgTSO *src, StgTSO *dest); +void move_STACK (StgStack *src, StgStack *dest); extern StgClosure * caf_list; extern StgClosure * revertible_caf_list; -END_RTS_PRIVATE +#include "EndPrivate.h" #endif /* SM_STORAGE_H */