X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2Frts%2Fstorage%2FGC.h;h=9616d72d51f00a44a41b74915034911546353988;hb=f6ee1f315a7e7069b21a993fb058e00d06b73487;hp=2a21c66517178566bfd0c1612ca85c607cf0e212;hpb=a0ca27ac659bcbe0c291b3bd1a12a965f43f5f55;p=ghc-hetmet.git diff --git a/includes/rts/storage/GC.h b/includes/rts/storage/GC.h index 2a21c66..9616d72 100644 --- a/includes/rts/storage/GC.h +++ b/includes/rts/storage/GC.h @@ -63,7 +63,7 @@ typedef struct generation_ { bdescr * blocks; // blocks in this gen unsigned int n_blocks; // number of blocks - unsigned int n_words; // number of words + unsigned int n_words; // number of used words bdescr * large_objects; // large objects (doubly linked) unsigned int n_large_blocks; // no. of blocks used by large objs @@ -167,10 +167,20 @@ void performMajorGC(void); The CAF table - used to let us revert CAFs in GHCi -------------------------------------------------------------------------- */ -void newCAF (StgClosure*); -void newDynCAF (StgClosure *); +void newCAF (StgRegTable *reg, StgClosure *); +void newDynCAF (StgRegTable *reg, StgClosure *); void revertCAFs (void); +// Request that all CAFs are retained indefinitely. +void setKeepCAFs (void); + +/* ----------------------------------------------------------------------------- + Stats + -------------------------------------------------------------------------- */ + +// Returns the total number of bytes allocated since the start of the program. +HsInt64 getAllocations (void); + /* ----------------------------------------------------------------------------- This is the write barrier for MUT_VARs, a.k.a. IORefs. A MUT_VAR_CLEAN object is not on the mutable list; a MUT_VAR_DIRTY