summaryrefslogtreecommitdiff
path: root/rts/sm/Sanity.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2014-11-21 17:05:58 +0000
committerSimon Marlow <marlowsd@gmail.com>2014-11-25 14:37:26 +0000
commit452eb80f15fce8665df52bc9facebfafb5b6267b (patch)
treea34e76ab765b6d1db49b1c05372f8924e52cacf9 /rts/sm/Sanity.c
parente22bc0dedb9e9da0176ad7ce4a74acbefedc7207 (diff)
downloadhaskell-452eb80f15fce8665df52bc9facebfafb5b6267b.tar.gz
Add +RTS -n<size>: divide the nursery into chunks
See the documentation for details.
Diffstat (limited to 'rts/sm/Sanity.c')
-rw-r--r--rts/sm/Sanity.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/rts/sm/Sanity.c b/rts/sm/Sanity.c
index dd50ded063..c4a699e59a 100644
--- a/rts/sm/Sanity.c
+++ b/rts/sm/Sanity.c
@@ -765,8 +765,11 @@ findMemoryLeak (void)
markBlocks(generations[g].large_objects);
}
- for (i = 0; i < n_capabilities; i++) {
+ for (i = 0; i < n_nurseries; i++) {
markBlocks(nurseries[i].blocks);
+ }
+
+ for (i = 0; i < n_capabilities; i++) {
markBlocks(capabilities[i]->pinned_object_block);
}
@@ -856,9 +859,11 @@ memInventory (rtsBool show)
}
nursery_blocks = 0;
- for (i = 0; i < n_capabilities; i++) {
+ for (i = 0; i < n_nurseries; i++) {
ASSERT(countBlocks(nurseries[i].blocks) == nurseries[i].n_blocks);
nursery_blocks += nurseries[i].n_blocks;
+ }
+ for (i = 0; i < n_capabilities; i++) {
if (capabilities[i]->pinned_object_block != NULL) {
nursery_blocks += capabilities[i]->pinned_object_block->blocks;
}