diff options
author | simonmar@microsoft.com <unknown> | 2008-02-28 15:31:29 +0000 |
---|---|---|
committer | simonmar@microsoft.com <unknown> | 2008-02-28 15:31:29 +0000 |
commit | fac738e582dcaca1575f5291c83910db01d25284 (patch) | |
tree | 5c7645efcad551108137593e4cb19df259b4b7d4 /includes/Storage.h | |
parent | 75927bb04bccb3ada850641939f0842a4168968a (diff) | |
download | haskell-fac738e582dcaca1575f5291c83910db01d25284.tar.gz |
Release some of the memory allocated to a stack when it shrinks (#2090)
When a stack is occupying less than 1/4 of the memory it owns, and is
larger than a megablock, we release half of it. Shrinking is O(1), it
doesn't need to copy the stack.
Diffstat (limited to 'includes/Storage.h')
-rw-r--r-- | includes/Storage.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/includes/Storage.h b/includes/Storage.h index d545054cbe..a830b444b2 100644 --- a/includes/Storage.h +++ b/includes/Storage.h @@ -186,6 +186,9 @@ doYouWantToGC( void ) extern void *allocateExec (nat bytes); extern void freeExec (void *p); +/* for splitting blocks groups in two */ +extern bdescr * splitLargeBlock (bdescr *bd, nat blocks); + /* ----------------------------------------------------------------------------- Performing Garbage Collection |