From 821135e2df838a2088ffca501403c08b21d9a8cf Mon Sep 17 00:00:00 2001 From: pyama86 Date: Mon, 6 Aug 2018 18:15:00 +0900 Subject: irep is released when Fiber is terminated --- src/gc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gc.c b/src/gc.c index 33d83f28e..9858e45fc 100644 --- a/src/gc.c +++ b/src/gc.c @@ -965,9 +965,11 @@ gc_gray_mark(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj) size_t i; mrb_callinfo *ci; - if (!c) break; + if (!c || c->status == MRB_FIBER_TERMINATED) break; + /* mark stack */ i = c->stack - c->stbase; + if (c->ci) { i += ci_nregs(c->ci); } -- cgit v1.2.3