summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-04-18 16:45:52 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-04-18 16:48:50 +0900
commite8dca6b0346ad087adda19a8656679bbdb23e6e7 (patch)
tree7d3cb2029b514e451bfe26de8d1f8f53273512f4 /src
parenta0143e148d4fdd3f7049e6fac57a9e5b41de8b0c (diff)
downloadmruby-e8dca6b0346ad087adda19a8656679bbdb23e6e7.tar.gz
mruby-e8dca6b0346ad087adda19a8656679bbdb23e6e7.zip
Revert 6dd1a57; fix #3612; ref #3550
The fix was wrong. It causes a new problem #3612.
Diffstat (limited to 'src')
-rw-r--r--src/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index fe394969a..15b92e638 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -646,6 +646,7 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
struct REnv *e = (struct REnv*)obj;
mrb_int i, len;
+ if (MRB_ENV_STACK_SHARED_P(e)) break;
len = MRB_ENV_STACK_LEN(e);
for (i=0; i<len; i++) {
mrb_gc_mark_value(mrb, e->stack[i]);