From 79eb53dc46a1c16264ffe0e414c3085d4614b20d Mon Sep 17 00:00:00 2001 From: ktsj Date: Sun, 16 Aug 2015 08:25:29 +0000 Subject: [PATCH] * 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 --- ChangeLog | 8 ++++++++ gc.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f40136de1f..b0803ab704 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Sun Aug 16 17:24:10 2015 Kazuki Tsujimoto + + * 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' + Sat Aug 15 10:51:08 2015 Nobuyoshi Nakada * ext/win32/lib/win32/registry.rb (API#SetValue): data size should 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;