summaryrefslogtreecommitdiff
path: root/includes/Storage.h
diff options
context:
space:
mode:
authorsimonmar@microsoft.com <unknown>2008-02-28 15:31:29 +0000
committersimonmar@microsoft.com <unknown>2008-02-28 15:31:29 +0000
commitfac738e582dcaca1575f5291c83910db01d25284 (patch)
tree5c7645efcad551108137593e4cb19df259b4b7d4 /includes/Storage.h
parent75927bb04bccb3ada850641939f0842a4168968a (diff)
downloadhaskell-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.h3
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