ruby-trunk-changes 2020-09-24

今日は OpenSSL 1.1.1h での仕様変更に追随して net/http のテストの対応や bundler のバージョンの更新などがありました。

[f56fc720ee] Hiroshi SHIBATA 2020-09-23 11:28:38 UTC

man/bundle-package.1、man/bundle-package.1.txt、man/bundle-package.ronn などのファイルは bundler からコピーされたもので upstream で削除されたそうなので削除しています。

[31a6eaabc1] Hiroshi SHIBATA 2020-09-23 12:02:56 UTC

rubygems のスタイルの修正などのマージ。

[a46841612c] Hiroshi SHIBATA 2020-09-23 12:06:29 UTC

同梱されている bundler のバージョン番号を 2.2.0.rc.1 に更新しています。

[b717f73402] Hiroshi SHIBATA 2020-09-23 12:59:35 UTC

31a6eaabc165d8a222e176f2c809d90622d88ec2rubygems のコーディングスタイル修正を revert しています。upstream で Rubocop の設定変更して不要な空行削られてたとのこと。

[637d1cc0c0] eileencodes 2020-08-11 17:22:43 UTC

super の 呼び出しの最適化のため vm_search_normal_superclass() で FL_TEST() を FL_TEST_RAW() に変更したり method entry が現在の control frame の method entry と一致していたら instance_eval などで self のすりかえが行なわれてないので不要な rb_obj_is_kind_of() の呼び出しを抑制するなどの細かい調整をしています。 https://github.com/ruby/ruby/pull/3545

[502c3ff02a] git 2020-09-23 18:52:57 UTC

version.h の日付更新

[fae135c5b3] Jeremy Evans 2020-09-23 22:52:54 UTC

Backtrace::Location#path と Backtarce::Location#absolute_path の rdoc 用コメントに返すパスが絶対パスになるかどうかの条件について追記しています。

[e06f4a3b1f] Michael Lindley 2020-08-31 21:09:04 UTC

bootstraptest/test_insns.rb に VM 命令 putiseq を使うためのテストを削除しています。 このテストはコンパイル結果に対象の VM 命令が含まれるようにしたスクリプト片を実行するので(結果にその命令があることはチェックしないので)、変更されても気がつきにくいんですよね。

[4a588e70b8] Koichi Sasada 2020-09-24 08:06:33 UTC

GC の mark 処理の root として登録する rb_gc_register_mark_object() で Ractor のための排他処理が必要だったので RB_VM_LOCK_ENTER()/RB_VM_LOCK_LEAVE() を追加しています。

[29ed16ff4a] Koichi Sasada 2020-09-24 08:07:27 UTC

Ractor 間のオブジェクトのコピーのやりとりのために ractor_basket_accept() で Marshal.dump したオブジェクトを load するときに構造体 struct rb_ractor_basket のメンバー v を RB_GC_GUARD() で GC から保護するようにしています。送信側で dump したあと参照が消えてるかもしれなくて struct rb_ractor_basket は GC の mark 対象じゃないので保護しておかないと load 前に文字列オブジェクトが削除されてるかもしれなかったようです。

[07786edd66] Yusuke Endoh 2020-09-24 10:20:17 UTC

OpenSSL 1.1.1h の仕様変更? のため標準添付ライブラリ net/http のテストで Net::HTTP#verify_callback に渡される証明書情報が変化したために失敗していたのをとりあえず通るように対応しています。

[416bb11a5e] Yusuke Endoh 2020-09-24 10:29:54 UTC

test/fiber/scheduler.rb でインスタンス変数の未初期化警告をさけるため initialize に初期化を追加しています。

[4405423c87] Yusuke Endoh 2020-09-24 10:30:22 UTC

標準添付ライブラリ ostruct のテストで メソッド再定義の警告を抑制するため $VERBOSE を一時的に nil にセットするようにしています。

[1917afa34b] Yusuke Endoh 2020-09-24 10:34:16 UTC

07786edd66f59a529d6febb2e0fe901782991755 の net/http のテストの OpenSSL 1.1.1h 対応のリファクタリング。 Enumerable#zip で証明書の対応をとってたのを callback が呼ばれる順序にも依存しないようにしています。

[0c611d7f4f] Yusuke Endoh 2020-09-24 10:39:51 UTC

07786edd66f59a529d6febb2e0fe901782991755 および 1917afa34bca55ba1ea578234132b7e4479ea3c9 の net/http のテストの OpenSSL 1.1.1h 対応の再修正。やっぱり zip を使いつつコールバックを呼ばれた回数を使って比較対象の証明書を選ぶようにしています。