X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FStorage.h;h=90e364cbc493052eaba1a211461e26339f53b3a4;hb=e686d8dc6cd67c35132059d0718d1501f0af1e67;hp=d7a842182aab309024854ecb511ade25d361bbae;hpb=27a28cf6bc2196ee1690ac1fcc4d4c59d9b0d50f;p=ghc-hetmet.git diff --git a/includes/Storage.h b/includes/Storage.h index d7a8421..90e364c 100644 --- a/includes/Storage.h +++ b/includes/Storage.h @@ -113,6 +113,7 @@ typedef struct generation_ { // stats information unsigned int collections; + unsigned int par_collections; unsigned int failed_promotions; // temporary use during GC: @@ -535,16 +536,17 @@ extern void resizeNurseries ( nat blocks ); extern void resizeNurseriesFixed ( nat blocks ); extern lnat countNurseryBlocks ( void ); + /* ----------------------------------------------------------------------------- Functions from GC.c -------------------------------------------------------------------------- */ -typedef void (*evac_fn)(StgClosure **); +typedef void (*evac_fn)(void *user, StgClosure **root); extern void threadPaused ( Capability *cap, StgTSO * ); extern StgClosure * isAlive ( StgClosure *p ); -extern void markCAFs ( evac_fn evac ); -extern void GetRoots ( evac_fn evac ); +extern void markCAFs ( evac_fn evac, void *user ); +extern void GetRoots ( evac_fn evac, void *user ); /* ----------------------------------------------------------------------------- Stats 'n' DEBUG stuff