Lines Matching refs:block

51 struct block {  struct
55 struct block *next; argument
62 struct block block[1]; member
68 #define HDR_BLOCK (sizeof (struct block) - sizeof (void *))
109 struct block *block; in defrag() local
111 for (block = page->block; block; block = block->next) { in defrag()
112 struct block *block2; in defrag()
114 if (block->status == BUSY) in defrag()
116 for (block2 = block->next; block2 && in defrag()
118 block->next = block2->next; in defrag()
119 block->size += block2->size + HDR_BLOCK; in defrag()
135 split(struct block *block, size_t size) in split() argument
137 if (block->size > size + sizeof (struct block)) { in split()
138 struct block *newblock; in split()
140 newblock = (struct block *) in split()
141 ((char *)block + HDR_BLOCK + size); in split()
142 newblock->next = block->next; in split()
143 block->next = newblock; in split()
145 newblock->page = block->page; in split()
146 newblock->size = block->size - size - HDR_BLOCK; in split()
147 block->size = size; in split()
161 struct block *block; in malloc() local
170 for (block = page->block; block; block = block->next) { in malloc()
171 if ((block->status == FREE) && (block->size >= size)) in malloc()
191 block = page->block; in malloc()
192 block->next = 0; in malloc()
193 block->status = FREE; in malloc()
194 block->size = totpage - HDR_PAGE; in malloc()
195 block->page = page; in malloc()
198 split(block, size); in malloc()
200 scribble((ulong_t *)&block->memstart, NEWMEM, block->size); in malloc()
202 block->status = BUSY; in malloc()
203 return (&block->memstart); in malloc()
233 struct block *block; in realloc() local
241 block = (struct block *)((char *)ptr - HDR_BLOCK); in realloc()
243 osize = block->size; in realloc()
248 if (block->next && block->next->status == FREE) { in realloc()
249 block->size += block->next->size + HDR_BLOCK; in realloc()
250 block->next = block->next->next; in realloc()
253 if (size <= block->size) { in realloc()
254 split(block, size); in realloc()
256 if (block->size > osize) in realloc()
258 (block->size - osize)); in realloc()
266 block->status = FREE; in realloc()
280 (void) aplist_test(&free_alp, block->page, AL_CNT_FREELIST); in realloc()
291 struct block *block; in free() local
297 block = (struct block *)((char *)ptr - HDR_BLOCK); in free()
298 block->status = FREE; in free()
300 scribble((ulong_t *)&block->memstart, FREMEM, block->size); in free()
302 (void) aplist_test(&free_alp, block->page, AL_CNT_FREELIST); in free()
319 struct block *block; in addfree() local
328 block = page->block; in addfree()
329 block->next = 0; in addfree()
330 block->status = FREE; in addfree()
331 block->size = bytes - HDR_PAGE; in addfree()
332 block->page = page; in addfree()