diff options
author | Simon Marlow <simonmarhaskell@gmail.com> | 2008-04-16 23:30:58 +0000 |
---|---|---|
committer | Simon Marlow <simonmarhaskell@gmail.com> | 2008-04-16 23:30:58 +0000 |
commit | 30387408c5e471e8f8ff61f80754ad2c07880a7d (patch) | |
tree | 2281b10589163dc77376d894a798d3916edffd30 | |
parent | 0b43af1b2523a7938fc8aacedb23948e3aa1b7b5 (diff) | |
download | haskell-30387408c5e471e8f8ff61f80754ad2c07880a7d.tar.gz |
add debugging code to check for fragmentation
-rw-r--r-- | rts/sm/BlockAlloc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/rts/sm/BlockAlloc.c b/rts/sm/BlockAlloc.c index 5bcce7bf4f..98afdd4caf 100644 --- a/rts/sm/BlockAlloc.c +++ b/rts/sm/BlockAlloc.c @@ -331,6 +331,14 @@ allocGroup (nat n) } if (ln == MAX_FREE_LIST) { +#if 0 + if ((mblocks_allocated * MBLOCK_SIZE_W - n_alloc_blocks * BLOCK_SIZE_W) > (1024*1024)/sizeof(W_)) { + debugBelch("Fragmentation, wanted %d blocks:", n); + RtsFlags.DebugFlags.block_alloc = 1; + checkFreeListSanity(); + } +#endif + bd = alloc_mega_group(1); bd->blocks = n; initGroup(n,bd); // we know the group will fit |