mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #729 from authorNari/unclear-black-in-major-collector
Doesn't clear black of all marked objects in the major collector.
This commit is contained in:
@@ -780,7 +780,7 @@ incremental_sweep_phase(mrb_state *mrb, size_t limit)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!is_minor_gc(mrb))
|
||||
if (!is_generational(mrb))
|
||||
paint_partial_white(mrb, &p->as.basic); /* next gc target */
|
||||
dead_slot = 0;
|
||||
}
|
||||
@@ -863,11 +863,10 @@ clear_all_old(mrb_state *mrb)
|
||||
if (is_major_gc(mrb)) {
|
||||
advance_phase(mrb, GC_STATE_NONE);
|
||||
}
|
||||
else {
|
||||
mrb->is_generational_gc_mode = FALSE;
|
||||
prepare_incremental_sweep(mrb);
|
||||
advance_phase(mrb, GC_STATE_NONE);
|
||||
}
|
||||
|
||||
mrb->is_generational_gc_mode = FALSE;
|
||||
prepare_incremental_sweep(mrb);
|
||||
advance_phase(mrb, GC_STATE_NONE);
|
||||
mrb->variable_gray_list = mrb->gray_list = NULL;
|
||||
mrb->is_generational_gc_mode = origin_mode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user