aboutsummaryrefslogtreecommitdiffstats
path: root/gc.c
diff options
context:
space:
mode:
authorktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-16 08:25:29 +0000
committerktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-16 08:25:29 +0000
commitd23e2a68ca91e6ec4224ae43547c647c3a2e32cc (patch)
treee211730b22bcd904f3768806aa9f3da4a1d9037d /gc.c
parent38979861917beb10e4a9e15f1f6e16f6e33e2b8e (diff)
downloadruby-d23e2a68ca91e6ec4224ae43547c647c3a2e32cc.tar.gz
* gc.c (gc_mark_children): check if RCLASS_EXT is valid
before marking. This fixes the following test failure introduced in r51126: make test-all TESTOPTS='--gc-stress ruby/test_refinement.rb' git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index 2aaf630b22..525c83a229 100644
--- a/gc.c
+++ b/gc.c
@@ -4331,8 +4331,8 @@ gc_mark_children(rb_objspace_t *objspace, VALUE obj)
if (FL_TEST(obj, RICLASS_IS_ORIGIN)) {
mark_m_tbl(objspace, RCLASS_M_TBL(obj));
}
- mark_m_tbl(objspace, RCLASS_CALLABLE_M_TBL(obj));
if (!RCLASS_EXT(obj)) break;
+ mark_m_tbl(objspace, RCLASS_CALLABLE_M_TBL(obj));
gc_mark(objspace, RCLASS_SUPER((VALUE)obj));
break;