diff options
| author | Narihiro Nakamura <[email protected]> | 2013-01-17 10:11:33 +0900 |
|---|---|---|
| committer | Narihiro Nakamura <[email protected]> | 2013-01-17 10:20:21 +0900 |
| commit | 7841a0cac5f5310499f24383ea23cf353840ba60 (patch) | |
| tree | ebae615a4ba01e8bc8755bf61a95f7edc893dd99 | |
| parent | 4728070ec5104faf45d2a06a5b3e412c69f8a734 (diff) | |
| download | mruby-7841a0cac5f5310499f24383ea23cf353840ba60.tar.gz mruby-7841a0cac5f5310499f24383ea23cf353840ba60.zip | |
Clear all old flags, even if we change the gc mode during the major gc.
| -rw-r--r-- | src/gc.c | 9 |
1 files changed, 2 insertions, 7 deletions
@@ -1143,13 +1143,8 @@ static void change_gen_gc_mode(mrb_state *mrb, mrb_int enable) { if (is_generational(mrb) && !enable) { - if (is_major_gc(mrb)) { - advance_phase(mrb, GC_STATE_NONE); - } - else { - clear_all_old(mrb); - gc_assert(mrb->gc_state == GC_STATE_NONE); - } + clear_all_old(mrb); + gc_assert(mrb->gc_state == GC_STATE_NONE); mrb->gc_full = FALSE; } else if (!is_generational(mrb) && enable) { |
