/* -----------------------------------------------------------------------------
- * $Id: BlockAlloc.c,v 1.15 2003/01/28 17:04:58 simonmar Exp $
+ * $Id: BlockAlloc.c,v 1.17 2003/11/12 17:49:05 sof Exp $
*
* (c) The GHC Team 1998-2000
*
Allocation
-------------------------------------------------------------------------- */
-static inline void
+STATIC_INLINE void
initGroup(nat n, bdescr *head)
{
bdescr *bd;
* pointer to the newly enlarged group p.
*/
-static inline bdescr *
+STATIC_INLINE bdescr *
coalesce(bdescr *p)
{
bdescr *bd, *q;
n = p->blocks * BLOCK_SIZE / MBLOCK_SIZE + 1;
for (; n > 0; (W_)p += MBLOCK_SIZE, n--) {
- initMBlock((void *)((W_)p & ~MBLOCK_MASK));
+ initMBlock(MBLOCK_ROUND_DOWN(p));
initGroup(BLOCKS_PER_MBLOCK, p);
freeGroup(p);
}