ruby-trunk-changes 2020-02-13

今日は super の呼び出しにメソッドの inline cache が効くようにする最適化や make test-all を複数回繰り返しできるようにする対応などがありました。

[ed7b46b66b] John Hawthorn 2020-01-19 02:18:00 UTC

super で呼ばれるメソッドの探索時に inline cache を考慮するようにしています。 https://github.com/ruby/ruby/pull/2869

[bc1dbed16c] git 2020-02-12 15:15:22 UTC

version.h の日付更新

[99a8742067] Koichi Sasada 2020-02-12 18:28:40 UTC

ed7b46b66be671165b6f38abd21d7638f4dfdcea の super の inline cache 対応でキャッシュとの比較に cc->me->def->original_id を使ってたのを cc->me->called_id に変更しています。 alias によるメソッドの時にうまく一致しない場合があるようです。

[53a8b1486b] Koichi Sasada 2020-02-12 19:20:22 UTC

rb_bug() による異常終了のテストでわざと SIGSEGV を送信するテストを環境変数 RUBY_ON_BUG が設定されている時には skip するようにしています。 gdb で止まってしまうので。

[377c63366f] Yusuke Endoh 2020-02-13 01:15:24 UTC

rubygems のテスト test/rubygems/test_gem_commands_setup_command.rb でも 65201c054a90c8e7beb8fe1e6d0006541ac33449 と同様に shebang に /bin/env または /usr/bin/env を使うようにしています。

[572d9b93bb] S-H-GAMELINKS 2020-02-10 03:09:22 UTC

webrick のテストで HTTPServer を起動する時に :NondisclosureName というオプションを設定するようにしています。表示しないファイルを指定するものらしいですが、コミットログによると複数回繰り返し test-all を実行した時に失敗しないようにするためらしい。この設定グローバルに残るのかな。

[778c397310] S-H-GAMELINKS 2020-02-09 09:25:23 UTC

拡張ライブラリ psych のテストで複数回実行のために定数が定義済みだったら remove_const するところで Symbol のつもりであやまって定数そのものを参照してしまっていたのを修正しています。

[b1b155ff03] S-H-GAMELINKS 2020-02-09 09:34:47 UTC

did_you_mean のテストで setup で DidYouMean.formatter の初期化を行うようにしています。これも複数回の make test-all 対応のようです。

[fce667ed08] Nobuyoshi Nakada 2020-02-13 00:34:49 UTC

obj_free() でオブジェクトを解放処理する時にインスタンス変数のテーブルも解放した後に、文字列オブジェクトの場合 rb_str_free() が呼ばれて、struct RBasic::flags に埋め込めない encindex の Encoding が関連付いていた場合既に Encoding が辿れない状態になっていて、未初期化のインスタンス変数参照の扱いになって警告が出てしまっていたのでその場合はやむを得ず ASCII-8BIT として扱うようにしています。

[aeddffafc8] Kazuhiro NISHIYAMA 2020-02-13 02:46:16 UTC

GitHub Actions の Ubuntu の make test-all に TESTS=--repeat-count=2 を渡して 2回繰り返し実行するようにしています。