Lines Matching refs:size
61 size_t size; member
165 void *miniheap_alloc(size_t size, unsigned int alignment) { in miniheap_alloc() argument
168 size_t original_size = size; in miniheap_alloc()
171 LTRACEF("size %zd, align %d\n", size, alignment); in miniheap_alloc()
178 size += sizeof(struct alloc_struct_begin); in miniheap_alloc()
180 size += PADDING_SIZE; in miniheap_alloc()
186 if (size < sizeof(struct free_heap_chunk)) in miniheap_alloc()
187 size = sizeof(struct free_heap_chunk); in miniheap_alloc()
190 size = ROUNDUP(size, sizeof(void *)); in miniheap_alloc()
198 size += alignment; in miniheap_alloc()
212 if (chunk->len >= size) { in miniheap_alloc()
219 if (chunk->len > size + sizeof(struct free_heap_chunk)) { in miniheap_alloc()
221 …free_heap_chunk *newchunk = heap_create_free_chunk((uint8_t *)ptr + size, chunk->len - size, true); in miniheap_alloc()
224 chunk->len -= chunk->len - size; in miniheap_alloc()
234 DEBUG_ASSERT(chunk->len >= size); in miniheap_alloc()
235 size = chunk->len; in miniheap_alloc()
238 memset(ptr, ALLOC_FILL, size); in miniheap_alloc()
254 as->size = size; in miniheap_alloc()
255 theheap.remaining -= size; in miniheap_alloc()
262 as->padding_size = (((addr_t)chunk + size) - ((addr_t)ptr + original_size)); in miniheap_alloc()
276 ssize_t err = heap_grow(size); in miniheap_alloc()
288 void *miniheap_realloc(void *ptr, size_t size) { in miniheap_realloc() argument
291 return miniheap_alloc(size, 0); in miniheap_realloc()
292 if (size == 0) { in miniheap_realloc()
298 void *p = miniheap_alloc(size, 0); in miniheap_realloc()
302 memcpy(p, ptr, size); // XXX wrong in miniheap_realloc()
335 LTRACEF("allocation was %zd bytes long at ptr %p\n", as->size, as->ptr); in miniheap_free()
338 heap_insert_free_chunk(heap_create_free_chunk(as->ptr, as->size, true)); in miniheap_free()
460 static ssize_t heap_grow(size_t size) { in heap_grow() argument
461 size = ROUNDUP(size, PAGE_SIZE); in heap_grow()
462 void *ptr = page_alloc(size / PAGE_SIZE, PAGE_ALLOC_ANY_ARENA); in heap_grow()
464 TRACEF("failed to grow kernel heap by 0x%zx bytes\n", size); in heap_grow()
468 LTRACEF("growing heap by 0x%zx bytes, new ptr %p\n", size, ptr); in heap_grow()
470 heap_insert_free_chunk(heap_create_free_chunk(ptr, size, true)); in heap_grow()
476 uintptr_t endptr = (uintptr_t)ptr + size; in heap_grow()
481 return size; in heap_grow()