Lines Matching refs:page
64 struct page *page; /* Backwards reference to page */ member
70 struct page { struct
72 struct page *next; argument
80 #define HDR_PAGE (sizeof (struct page) - sizeof (void *)) argument
88 struct page *memstart;
90 static void defrag(struct page *);
110 struct page *page; in malloc_unlocked() local
120 for (page = memstart; page; page = page->next) { in malloc_unlocked()
121 for (block = page->block; block; block = block->next) { in malloc_unlocked()
131 if (!page) { in malloc_unlocked()
135 if ((page = (struct page *)mmap(0, totpage, in malloc_unlocked()
140 page->next = memstart; in malloc_unlocked()
141 memstart = page; in malloc_unlocked()
142 page->size = totpage; in malloc_unlocked()
143 block = page->block; in malloc_unlocked()
147 block->page = page; in malloc_unlocked()
190 defrag(block->page); in realloc()
208 defrag(block->page); in free()
233 newblock->page = block->page; in split()
243 defrag(struct page *page) in defrag() argument
247 for (block = page->block; block; block = block->next) { in defrag()
262 if (page->block->size == page->size - HDR_PAGE) { in defrag()
263 if (page == memstart) in defrag()
264 memstart = page->next; in defrag()
266 struct page *page2; in defrag()
269 if (page2->next == page) { in defrag()
270 page2->next = page->next; in defrag()
275 (void) munmap((caddr_t)page, page->size); in defrag()