--- ray/src/common/malloc.c 1991/12/13 10:28:42 2.2 +++ ray/src/common/malloc.c 1992/06/29 22:39:51 2.5 @@ -1,4 +1,4 @@ -/* Copyright (c) 1991 Regents of the University of California */ +/* Copyright (c) 1992 Regents of the University of California */ #ifndef lint static char SCCSid[] = "$SunId$ LBL"; @@ -233,12 +233,14 @@ register unsigned n; pagesz = amnt = getpagesize(); nrem = (int)sbrk(0); /* page align break */ nrem = pagesz - (nrem&(pagesz-1)); - bpos = sbrk(nrem); /* word aligned! */ + bpos = sbrk(nrem); if ((int)bpos == -1) return(NULL); #ifdef MSTATS b_nsbrked += nrem; #endif + bpos += nrem & (BYTES_WORD-1); /* align pointer */ + nrem &= ~(BYTES_WORD-1); } n = (n+(BYTES_WORD-1))&~(BYTES_WORD-1); /* word align rqst. */ @@ -360,7 +362,7 @@ unsigned n; if (n <= on && (n > on>>1 || on == 1<on ? on : n);