ruby-trunk-changes r53741 - r53746

今日は主に乗算の最適化命令 opt_mult の最適化がありました。

naruse: r53741 2016-02-05 13:31:27 +0900

int128_t および uint128_t という整数型が利用可能なら定義するように導入して、乗算の最適化命令 opt_mult でオーバフロー検出のために可能ならこの型で演算して Fixnum に収まらなければそのまま Bignum に変換するように最適化しています。

svn: r53742 2016-02-05 13:31:28 +0900

version.h の日付更新。

nobu: r53743 2016-02-05 13:45:10 +0900

test/lib/minitest/unit.rb および test/lib/test/unit/assertions.rb でエラーメッセージを埋め込む時に Encoding::CompatibilityError が発生する可能性があるのを回避するため String#b で ASCII-8BIT にしてから埋め込むようにしています。

naruse: r53744 2016-02-05 15:52:41 +0900

r53741 の int128_t を使った opt_mult の最適化でさらに receiver が 0 の時の分岐を消すことで高速化しています。

nobu: r53745 2016-02-05 16:45:39 +0900

configure.in で RUBY_CHECK_SIGNEDNESS の定義の前のコメントで RUBY_CHECK_SIZEOF と typo していたのを修正しています。

duerst: r53746 2016-02-05 20:09:07 +0900

r53740 の String#upcase, #downcase, #swapcase, #capitalize などのメソッドの :ascii オプションの指定についての修正に関するテスト追加と思われます。