Lines Matching full:heap
10 void sys_multi_heap_init(struct sys_multi_heap *heap, sys_multi_heap_fn_t choice_fn) in sys_multi_heap_init() argument
12 heap->nheaps = 0; in sys_multi_heap_init()
13 heap->choice = choice_fn; in sys_multi_heap_init()
17 struct sys_heap *heap, void *user_data) in sys_multi_heap_add_heap() argument
21 mheap->heaps[mheap->nheaps].heap = heap; in sys_multi_heap_add_heap()
31 uintptr_t haddr = (uintptr_t)mheap->heaps[j].heap->heap; in sys_multi_heap_add_heap()
61 /* Search the heaps array to find the correct heap in sys_multi_heap_get_heap()
70 haddr = (uintptr_t)mheap->heaps[i].heap->heap; in sys_multi_heap_get_heap()
76 /* Now i stores the index of the heap after our target (even in sys_multi_heap_get_heap()
78 * FIXME: return -ENOENT when a proper heap is not found in sys_multi_heap_get_heap()
86 const struct sys_multi_heap_rec *heap; in sys_multi_heap_free() local
88 heap = sys_multi_heap_get_heap(mheap, block); in sys_multi_heap_free()
90 if (heap != NULL) { in sys_multi_heap_free()
91 sys_heap_free(heap->heap, block); in sys_multi_heap_free()
111 /* Invoke the realloc function on the same heap, to try to reuse in place */ in sys_multi_heap_aligned_realloc()
112 void *new_ptr = sys_heap_aligned_realloc(rec->heap, ptr, align, bytes); in sys_multi_heap_aligned_realloc()
118 size_t old_size = sys_heap_usable_size(rec->heap, ptr); in sys_multi_heap_aligned_realloc()