diff --git a/src/gc.c b/src/gc.c index 4b6efdc39..83d64486f 100644 --- a/src/gc.c +++ b/src/gc.c @@ -1240,14 +1240,12 @@ clear_all_old(mrb_state *mrb, mrb_gc *gc) /* finish the half baked GC */ incremental_gc_finish(mrb, gc); } - else { - /* Sweep the dead objects, then reset all the live objects - * (including all the old objects, of course) to white. */ - gc->generational = FALSE; - prepare_incremental_sweep(mrb, gc); - incremental_gc_finish(mrb, gc); - gc->generational = TRUE; - } + /* Sweep the dead objects, then reset all the live objects + * (including all the old objects, of course) to white. */ + gc->generational = FALSE; + prepare_incremental_sweep(mrb, gc); + incremental_gc_finish(mrb, gc); + gc->generational = TRUE; /* The gray objects have already been painted as white */ gc->atomic_gray_list = gc->gray_list = NULL; }