summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-03-04 18:53:36 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-03-04 18:53:36 +0900
commitecee8c51b0ad8cddd9e422a3e5105f902d7e2781 (patch)
tree46275b63a34bda32231b702af7ded5ccf5b0d6de
parentc789acbc3645cbdeb500c28af4ca295f1a61f2d1 (diff)
downloadmruby-ecee8c51b0ad8cddd9e422a3e5105f902d7e2781.tar.gz
mruby-ecee8c51b0ad8cddd9e422a3e5105f902d7e2781.zip
Avoid tracing shared TT_ENV object.
-rw-r--r--src/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 63eab8e00..5003f4b91 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -639,6 +639,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]);