ruby-changes:53264
From: ko1 <ko1@a...>
Date: Thu, 1 Nov 2018 11:50:39 +0900 (JST)
Subject: [ruby-changes:53264] ko1:r65479 (trunk): fix WB miss.
ko1 2018-11-01 11:50:35 +0900 (Thu, 01 Nov 2018) New Revision: 65479 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65479 Log: fix WB miss. * hash.c (linear_copy): remember a hash object to mark pointing objects. Modified files: trunk/hash.c Index: hash.c =================================================================== --- hash.c (revision 65478) +++ hash.c (revision 65479) @@ -1003,12 +1003,16 @@ linear_copy(VALUE hash1, VALUE hash2) https://github.com/ruby/ruby/blob/trunk/hash.c#L1003 RHASH_ARRAY_BOUND_SET(hash1, RHASH_ARRAY_BOUND(hash2)); RHASH_ARRAY_SIZE_SET(hash1, RHASH_ARRAY_SIZE(hash2)); RHASH_ARRAY_SET(hash1, new_tab); + + rb_gc_writebarrier_remember(hash1); return new_tab; } else { RHASH_ARRAY_BOUND_SET(hash1, RHASH_ARRAY_BOUND(hash2)); RHASH_ARRAY_SIZE_SET(hash1, RHASH_ARRAY_SIZE(hash2)); RHASH_ARRAY_SET(hash1, old_tab); + + rb_gc_writebarrier_remember(hash1); return old_tab; } } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/