4 static const cell free_list_count = 16;
5 static const cell block_size_increment = 32;
7 struct heap_free_list {
8 free_heap_block *small_blocks[free_list_count];
9 free_heap_block *large_blocks;
17 typedef void (*heap_iterator)(heap_block *compiled,factorvm *vm);
19 inline static heap_block *next_block(heap *h, heap_block *block)
21 cell next = ((cell)block + block->size);
22 if(next == h->seg->end)
25 return (heap_block *)next;
28 inline static heap_block *first_block(heap *h)
30 return (heap_block *)h->seg->start;
33 inline static heap_block *last_block(heap *h)
35 return (heap_block *)h->seg->end;