Lines Matching defs:arena
64 * -Memory is kept in the "arena", a singly linked list of blocks.
108 * description of arena, free queue, holding blocks etc.
111 * Define freeptr as arena[2-3] to guarentee it follows arena in memory.
115 static struct header arena[4] = {
123 * start the arena. The first is a busy
127 #define freeptr (arena + 2)
129 static struct header *arenaend; /* ptr to block marking high end of arena */
130 static struct header *lastblk; /* the highest block in the arena */
315 /* initialize arena */
316 arena[1].nextblk = (struct header *)BUSY;
317 arena[0].nextblk = (struct header *)BUSY;
318 lastblk = arenaend = &(arena[1]);
321 freeptr[1].nextblk = &(arena[0]);
457 * freeptr[1].next = &arena[0], so when you do the test,
458 * the result is a large positive number, since arena[0]
500 struct header *newend; /* new end of arena */
528 /* add to arena */
532 newend->nextblk = SETBUSY(&(arena[1]));
561 newend->nextblk = SETBUSY(&(arena[1]));
568 * last block in arena is at end of memory and
579 /* combine with last block, put in arena */
583 newend->nextblk = SETBUSY(&(arena[1]));
665 assert((struct header *)lblk > arena);
971 blk = CLRBUSY(arena[1].nextblk);
973 inf.arena = (char *)arenaend - (char *)blk;
976 * loop through arena, counting # of blocks, and
980 while (next != &(arena[1])) {
1096 blk = arena + 1;
1098 /* loop through arena, checking */
1101 while (next != arena + 1) {
1102 assert(blk >= arena + 1);
1155 brk(CLRBUSY(arena[1].nextblk));