/* -----------------------------------------------------------------------------
- * $Id: Storage.c,v 1.79 2003/03/26 18:59:34 sof Exp $
+ * $Id: Storage.c,v 1.81 2003/10/24 09:52:51 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
bd->step = g0s0;
bd->flags = BF_LARGE;
bd->free = bd->start + n;
- /* don't add these blocks to alloc_blocks, since we're assuming
- * that large objects are likely to remain live for quite a while
- * (eg. running threads), so garbage collecting early won't make
- * much difference.
- */
alloc_blocks += req_blocks;
RELEASE_SM_LOCK;
return bd->start;
dbl_link_onto(bd, &g0s0->large_objects);
bd->gen_no = 0;
bd->step = g0s0;
- bd->flags = BF_LARGE;
+ bd->flags = BF_PINNED | BF_LARGE;
bd->free = bd->start;
alloc_blocks++;
}