remove duplicated incremental_gc_until() in generational GC; #1449

This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-08-09 18:11:16 +09:00
parent 93d2cb0258
commit 3d3ca985b0
+5 -6
View File
@@ -1007,16 +1007,15 @@ mrb_full_gc(mrb_state *mrb)
GC_INVOKE_TIME_REPORT("mrb_full_gc()");
GC_TIME_START;
if (mrb->gc_state != GC_STATE_NONE) {
/* finish half baked GC cycle */
incremental_gc_until(mrb, GC_STATE_NONE);
}
/* clear all the old objects back to young */
if (is_generational(mrb)) {
/* clear all the old objects back to young */
clear_all_old(mrb);
mrb->gc_full = TRUE;
}
else if (mrb->gc_state != GC_STATE_NONE) {
/* finish half baked GC cycle */
incremental_gc_until(mrb, GC_STATE_NONE);
}
incremental_gc_until(mrb, GC_STATE_NONE);
mrb->gc_threshold = (mrb->gc_live_after_mark/100) * mrb->gc_interval_ratio;