summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-06-17 08:30:33 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-06-17 08:39:43 +0900
commit819ccd3b859427e38d0b4e5a22ec0005b68c3b31 (patch)
tree4b480e03d95fd3b10d640efca3a7723835a8041f /src/gc.c
parent8daabe7115a3d32bc65aeaceb7e503e2640ccc77 (diff)
downloadmruby-819ccd3b859427e38d0b4e5a22ec0005b68c3b31.tar.gz
mruby-819ccd3b859427e38d0b4e5a22ec0005b68c3b31.zip
Mark the root context in `final_marking_phase`.
Because the root context cannot be marked from fibers.
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index d6c881a8f..799e46684 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -997,6 +997,7 @@ final_marking_phase(mrb_state *mrb, mrb_gc *gc)
{
mrb_gc_mark_gv(mrb);
mark_context(mrb, mrb->c);
+ mark_context(mrb, mrb->root_c);
mrb_gc_mark(mrb, (struct RBasic*)mrb->exc);
gc_mark_gray_list(mrb, gc);
mrb_assert(gc->gray_list == NULL);