summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-01 11:39:18 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-01 15:37:21 +0900
commit9e10afe1d0ee1fb751182e42044e891b4b13f9a4 (patch)
tree880a62052f924ad037dedaca434e474f820a91ed /src/gc.c
parent16aafdd8660dc301b49254e7ccaa887ab3a458de (diff)
downloadmruby-9e10afe1d0ee1fb751182e42044e891b4b13f9a4.tar.gz
mruby-9e10afe1d0ee1fb751182e42044e891b4b13f9a4.zip
Implements `Module::nesting' (15.2.2.3.2); ref #600, #3200
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 8cc8feb08..cd885f7e8 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -647,6 +647,9 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
mrb_gc_mark(mrb, (struct RBasic*)p->env);
mrb_gc_mark(mrb, (struct RBasic*)p->target_class);
+ if (!MRB_PROC_CFUNC_P(p)) {
+ mrb_gc_mark(mrb, (struct RBasic*)p->body.irep->outer);
+ }
}
break;