{
size_t slot_size;
- for (slot_size = 16; slot_size < NBPG; slot_size *= 2)
+ for (slot_size = 16; slot_size < PGSIZE; slot_size *= 2)
{
struct desc *d = &descs[desc_cnt++];
ASSERT (desc_cnt <= sizeof descs / sizeof *descs);
static struct arena *
slot_to_arena (struct slot *s)
{
- return (struct arena *) ((uint32_t) s & (NBPG - 1));
+ return (struct arena *) ((uint32_t) s & ~(PGSIZE - 1));
}
static void *
a->next = d->arenas;
if (d->arenas != NULL)
d->arenas->prev = a;
- for (ofs = sizeof *a; ofs + d->slot_size <= NBPG; ofs += d->slot_size)
+ for (ofs = sizeof *a; ofs + d->slot_size <= PGSIZE; ofs += d->slot_size)
{
struct slot *s = (struct slot *) ((uint8_t *) a + ofs);
s->next = d->free_list;