From: Eric Wong Date: 2014-01-04T11:12:37+00:00 Subject: [ruby-core:59551] Re: [ruby-trunk - Feature #9362][Assigned] Minimize cache misshit to gain optimal speed Eric Wong wrote: > OK, last update of the night :o I think everything is good on 32-bit... Gah, I decided to play on 64-bit and fixed one more bug: commit 87f13024862fe33bd2588013b833c64fbb2ef95a string.c: clear old flags when becoming embedded We no longer overload the shared/assoc flags for embedded strings 32-bytes or longer, so we cannot rely on setting the embedded length to clear the shared/assoc flags. Thus, a string which goes from: (1)no-embed -> (2)embed -> (3)no-embed may inherit false shared/assoc flags from the original noembed form, leading to assertion failures and segfaults. git pull git://80x24.org/ruby.git pull-495-fixes Only one failure left (doesn't happen on my 32-bit, only amd64 Debian wheezy): 1) Error: TestGemSpecification#test_to_ruby_nested_hash: ArgumentError: comparison of Hash with nil failed /home/ew/ruby/lib/rubygems/specification.rb:2127:in `sort' /home/ew/ruby/lib/rubygems/specification.rb:2127:in `ruby_code' /home/ew/ruby/lib/rubygems/specification.rb:2272:in `to_ruby' /home/ew/ruby/test/rubygems/test_gem_specification.rb:2091:in `test_to_ruby_nested_hash'