summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorKouhei Sutou <[email protected]>2018-04-26 15:25:36 +0900
committerKouhei Sutou <[email protected]>2018-04-26 15:25:36 +0900
commit4194fe9d655721ff4c65084496b35dc4f61a37fe (patch)
tree49585f1bf285dc7c5424a01327e88009e61b4300 /src/gc.c
parent1c66d42e47dee04974ea83503d552d47caa5c480 (diff)
downloadmruby-4194fe9d655721ff4c65084496b35dc4f61a37fe.tar.gz
mruby-4194fe9d655721ff4c65084496b35dc4f61a37fe.zip
Fix wrong the number of marked objects of MRB_TT_ENV in gray mark phase
If MRB_TT_ENV has stack shared flag or bidx flag, flags is too large than the real stack size.
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gc.c b/src/gc.c
index 8e2072788..69121d630 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -938,7 +938,7 @@ gc_gray_mark(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
break;
case MRB_TT_ENV:
- children += (int)obj->flags;
+ children += MRB_ENV_STACK_LEN(obj);
break;
case MRB_TT_FIBER: