X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FStoragePriv.h;h=556c6129dbc92e9218f3ba572ed514a3183e3106;hb=419c1644e84d45ca66a817816982b8713d8b9763;hp=add78a4e29f64e6f126d6f1e7e75c7adc4cd654e;hpb=52c078343e70a170441fed71480ba8569475c4cd;p=ghc-hetmet.git diff --git a/ghc/rts/StoragePriv.h b/ghc/rts/StoragePriv.h index add78a4..556c612 100644 --- a/ghc/rts/StoragePriv.h +++ b/ghc/rts/StoragePriv.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: StoragePriv.h,v 1.17 2001/08/08 10:50:37 simonmar Exp $ + * $Id: StoragePriv.h,v 1.24 2002/12/19 14:33:23 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -21,6 +21,7 @@ extern step *g0s0; extern generation *oldest_gen; extern void newCAF(StgClosure*); +extern void newDynCAF(StgClosure *); extern void move_TSO(StgTSO *src, StgTSO *dest); extern StgTSO *relocate_stack(StgTSO *dest, ptrdiff_t diff); @@ -28,9 +29,13 @@ extern StgTSO *relocate_stack(StgTSO *dest, ptrdiff_t diff); extern StgClosure *static_objects; extern StgClosure *scavenged_static_objects; +extern StgWeak *old_weak_ptr_list; + extern StgWeak *weak_ptr_list; extern StgClosure *caf_list; +extern StgTSO *resurrected_threads; + extern bdescr *small_alloc_list; extern bdescr *large_alloc_list; extern bdescr *pinned_object_block; @@ -40,7 +45,6 @@ extern StgPtr alloc_HpLim; extern bdescr *nursery; -extern nat nursery_blocks; extern nat alloc_blocks; extern nat alloc_blocks_lim; @@ -51,6 +55,7 @@ extern void allocNurseries ( void ); extern void resetNurseries ( void ); extern bdescr * allocNursery ( bdescr *last_bd, nat blocks ); extern void resizeNursery ( nat blocks ); +extern void tidyAllocateLists ( void ); /* Stats 'n' stuff */ extern lnat calcAllocated ( void ); @@ -77,21 +82,13 @@ dbl_link_onto(bdescr *bd, bdescr **list) #ifdef DEBUG extern void memInventory(void); extern void checkSanity(void); +extern nat countBlocks(bdescr *); #endif -/* - * These three are used by the garbage collector when we have - * dynamically-linked object modules. (see ClosureMacros.h, - * IS_CODE_PTR etc.). - * Defined in Linker.c. - */ -int is_dynamically_loaded_code_or_rodata_ptr ( void* p ); -int is_dynamically_loaded_rwdata_ptr ( void* p ); -int is_not_dynamically_loaded_ptr ( void* p ); - /* Functions from GC.c */ -void threadPaused(StgTSO *); -StgClosure *isAlive(StgClosure *p); +extern void threadPaused ( StgTSO * ); +extern StgClosure * isAlive ( StgClosure *p ); +extern void markCAFs ( evac_fn evac ); #endif /* STORAGEPRIV_H */