Lines Matching refs:heap_node
70 struct heap_node { struct
82 static_assert(alignof(FallbackMaxAlignType) % sizeof(heap_node) == 0,
87 const size_t NodesPerAlignment = alignof(FallbackMaxAlignType) / sizeof(heap_node);
89 static const heap_node* list_end =
90 (heap_node*)(&heap[HEAP_SIZE]); // one past the end of the heap
91 static heap_node* freelist = NULL;
93 heap_node* node_from_offset(const heap_offset offset) { in node_from_offset()
94 return (heap_node*)(heap + (offset * sizeof(heap_node))); in node_from_offset()
97 heap_offset offset_from_node(const heap_node* ptr) { in offset_from_node()
100 sizeof(heap_node)); in offset_from_node()
107 heap_node* getFirstAlignedNodeInHeap() { in getFirstAlignedNodeInHeap()
108 heap_node* node = (heap_node*)heap; in getFirstAlignedNodeInHeap()
109 const size_t alignNBytesAfterBoundary = RequiredAlignment - sizeof(heap_node); in getFirstAlignedNodeInHeap()
112 size_t NElemOffset = requiredOffset / sizeof(heap_node); in getFirstAlignedNodeInHeap()
124 return (len + sizeof(heap_node) - 1) / sizeof(heap_node) + 1; in alloc_size()
132 heap_node *p, *prev; in fallback_malloc()
160 heap_node* q; in fallback_malloc()
187 heap_node* after(struct heap_node* p) { return p + p->len; } in after()
190 struct heap_node* cp = ((struct heap_node*)ptr) - 1; // retrieve the chunk in fallback_free()
191 struct heap_node *p, *prev; in fallback_free()
236 struct heap_node *p, *prev; in print_free_list()