diff options
author | ktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-08-16 08:25:29 +0000 |
---|---|---|
committer | ktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-08-16 08:25:29 +0000 |
commit | 79eb53dc46a1c16264ffe0e414c3085d4614b20d (patch) | |
tree | e211730b22bcd904f3768806aa9f3da4a1d9037d | |
parent | 13f33b22e129faf55cf3625b642f665f98db736e (diff) | |
download | ruby-79eb53dc46a1c16264ffe0e414c3085d4614b20d.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
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gc.c | 2 |
2 files changed, 9 insertions, 1 deletions
@@ -1,3 +1,11 @@ +Sun Aug 16 17:24:10 2015 Kazuki Tsujimoto <kazuki@callcc.net> + + * 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 <nobu@ruby-lang.org> * ext/win32/lib/win32/registry.rb (API#SetValue): data size should @@ -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; |