Fix GC crash with -generations=2
parent
ea4feee886
commit
9ad51490af
|
@ -147,6 +147,8 @@ void apply_relocation(CELL class, CELL offset, F_FIXNUM absolute_value)
|
|||
/* Perform all fixups on a code block */
|
||||
void relocate_code_block(F_COMPILED *compiled, CELL code_start, CELL literals_start)
|
||||
{
|
||||
compiled->last_scan = NURSERY;
|
||||
|
||||
if(compiled->relocation != F)
|
||||
{
|
||||
F_BYTE_ARRAY *relocation = untag_object(compiled->relocation);
|
||||
|
|
|
@ -32,9 +32,7 @@ F_DATA_HEAP *alloc_data_heap(CELL gens,
|
|||
data_heap->gen_count = gens;
|
||||
|
||||
CELL total_size;
|
||||
if(data_heap->gen_count == 1)
|
||||
total_size = 2 * tenured_size;
|
||||
else if(data_heap->gen_count == 2)
|
||||
if(data_heap->gen_count == 2)
|
||||
total_size = young_size + 2 * tenured_size;
|
||||
else if(data_heap->gen_count == 3)
|
||||
total_size = young_size + 2 * aging_size + 2 * tenured_size;
|
||||
|
|
|
@ -137,6 +137,7 @@ void collect_cards(void);
|
|||
/* the oldest generation */
|
||||
#define TENURED (data_heap->gen_count-1)
|
||||
|
||||
#define MIN_GEN_COUNT 1
|
||||
#define MAX_GEN_COUNT 3
|
||||
|
||||
/* used during garbage collection only */
|
||||
|
|
Loading…
Reference in New Issue