diff options
Diffstat (limited to 'src/gc.c')
| -rw-r--r-- | src/gc.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -983,7 +983,7 @@ mrb_field_write_barrier(mrb_state *mrb, struct RBasic *obj, struct RBasic *value gc_assert(!is_dead(mrb, value) && !is_dead(mrb, obj)); gc_assert(is_generational(mrb) || mrb->gc_state != GC_STATE_NONE); - if (is_minor_gc(mrb) || mrb->gc_state == GC_STATE_MARK) { + if (is_generational(mrb) || mrb->gc_state == GC_STATE_MARK) { add_gray_list(mrb, value); } else { @@ -1188,13 +1188,13 @@ gc_generational_mode_get(mrb_state *mrb, mrb_value self) static mrb_value gc_generational_mode_set(mrb_state *mrb, mrb_value self) { - mrb_value enable; + int enable; - mrb_get_args(mrb, "o", &enable); - if (mrb->is_generational_gc_mode != mrb_test(enable)) - change_gen_gc_mode(mrb, mrb_test(enable)); + mrb_get_args(mrb, "b", &enable); + if (mrb->is_generational_gc_mode != enable) + change_gen_gc_mode(mrb, enable); - if (mrb_test(enable)) + if (enable) return mrb_true_value(); else return mrb_false_value(); |
