summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-01-18 00:24:19 -0800
committerYukihiro "Matz" Matsumoto <[email protected]>2013-01-18 00:24:19 -0800
commit24c57255622139669159122c9631815f57f2f2d6 (patch)
treeebae615a4ba01e8bc8755bf61a95f7edc893dd99
parent4728070ec5104faf45d2a06a5b3e412c69f8a734 (diff)
parent7841a0cac5f5310499f24383ea23cf353840ba60 (diff)
downloadmruby-24c57255622139669159122c9631815f57f2f2d6.tar.gz
mruby-24c57255622139669159122c9631815f57f2f2d6.zip
Merge pull request #745 from authorNari/clear-old-flag-to-change-gc-mode
Clear all old flags, even if we change the gc mode during the major gc.
-rw-r--r--src/gc.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/gc.c b/src/gc.c
index 69e36640d..1833bf984 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -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) {