Lines Matching refs:heap_node
66 struct heap_node { struct
71 static const heap_node* list_end =
72 (heap_node*)(&heap[HEAP_SIZE]); // one past the end of the heap
73 static heap_node* freelist = NULL;
75 heap_node* node_from_offset(const heap_offset offset) { in node_from_offset()
76 return (heap_node*)(heap + (offset * sizeof(heap_node))); in node_from_offset()
79 heap_offset offset_from_node(const heap_node* ptr) { in offset_from_node()
82 sizeof(heap_node)); in offset_from_node()
86 freelist = (heap_node*)heap; in init_heap()
88 freelist->len = HEAP_SIZE / sizeof(heap_node); in init_heap()
93 return (len + sizeof(heap_node) - 1) / sizeof(heap_node) + 1; in alloc_size()
101 heap_node *p, *prev; in fallback_malloc()
113 heap_node* q; in fallback_malloc()
135 heap_node* after(struct heap_node* p) { return p + p->len; } in after()
138 struct heap_node* cp = ((struct heap_node*)ptr) - 1; // retrieve the chunk in fallback_free()
139 struct heap_node *p, *prev; in fallback_free()
184 struct heap_node *p, *prev; in print_free_list()