ruby-changes:39510
From: ktsj <ko1@a...>
Date: Sun, 16 Aug 2015 17:25:47 +0900 (JST)
Subject: [ruby-changes:39510] ktsj:r51591 (trunk): * gc.c (gc_mark_children): check if RCLASS_EXT is valid
ktsj 2015-08-16 17:25:29 +0900 (Sun, 16 Aug 2015) New Revision: 51591 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=51591 Log: * 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' Modified files: trunk/ChangeLog trunk/gc.c Index: ChangeLog =================================================================== --- ChangeLog (revision 51590) +++ ChangeLog (revision 51591) @@ -1,3 +1,11 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1 +Sun Aug 16 17:24:10 2015 Kazuki Tsujimoto <kazuki@c...> + + * 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@r...> * ext/win32/lib/win32/registry.rb (API#SetValue): data size should Index: gc.c =================================================================== --- gc.c (revision 51590) +++ gc.c (revision 51591) @@ -4331,8 +4331,8 @@ gc_mark_children(rb_objspace_t *objspace https://github.com/ruby/ruby/blob/trunk/gc.c#L4331 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; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/