Cyclone Scheme  0.4

◆ gc_grow_heap()

int gc_grow_heap ( gc_heap h,
int  heap_type,
size_t  size,
size_t  chunk_size,
gc_thread_data thd 
)

Grow a heap by allocating a new page.

Parameters
hHeap to be expanded
heap_typeDefine the size of objects that will be allocated on this heap
sizeNot applicable, can set to 0
chunk_sizeHeap chunk size, or 0 if not applicable
thdThread data for the mutator using this heap
Returns
A true value if the heap was grown, or 0 otherwise

Heaps are increased in size by adding a newly-allocated page at the end of the heap's linked list.

Page size is determined by starting at the minimum page size and increasing size using the Fibonnaci Sequence until reaching the max size.