[project @ 2000-01-30 10:17:44 by simonmar]
authorsimonmar <unknown>
Sun, 30 Jan 2000 10:17:44 +0000 (10:17 +0000)
committersimonmar <unknown>
Sun, 30 Jan 2000 10:17:44 +0000 (10:17 +0000)
The bd->free field of a block descriptor is supposed to be set to -1
for free blocks, if we're #ifdef DEBUGging.  It wasn't sometimes.

ghc/rts/BlockAlloc.c

index 652b629..6819463 100644 (file)
@@ -1,7 +1,7 @@
 /* -----------------------------------------------------------------------------
- * $Id: BlockAlloc.c,v 1.6 1999/07/01 13:48:22 panne Exp $
+ * $Id: BlockAlloc.c,v 1.7 2000/01/30 10:17:44 simonmar Exp $
  *
- * (c) The GHC Team 1998-1999
+ * (c) The GHC Team 1998-2000
  * 
  * The block allocator and free list manager.
  *
@@ -73,6 +73,9 @@ allocGroup(nat n)
       *last = bd->link;
       /* no initialisation necessary - this is already a
        * self-contained block group. */
+#ifdef DEBUG
+      bd->free = bd->start;    /* block isn't free now */
+#endif
       return bd;
     }
     if (bd->blocks >  n) {     /* block too big... */