ruby-trunk-changes 2023-05-19

今日は主に拡張ライブラリ openssl の FIPS モード対応や Fiber#kill メソッドの新規追加などがありました。

[2df5a697e2] Samuel Williams 2023-05-18 14:33:42 UTC

Fiber#kill メソッドを追加して他の Fiber/Thread から Fiber の実行を停止できるようにしています。といっても別の Fiber からだとその時点で対象の Fiber は動いてないので Fiber#resume した時点で停止するということみたいです。そして例外が発生するのではなくて特殊な fatal の tag で大域脱出で抜けるみたいですね。 https://github.com/ruby/ruby/pull/7823

variable.c の rb_gc_mark_global_tbl() と rb_gc_update_global_tbl() の処理が似てるので gc_mark_table() というマクロに切り出しています。

[d74b32db9d] lukeg 2023-04-03 18:46:43 UTC

拡張ライブラリ objspace のテストで Object Shapes のインスタンス変数の数が多い時のためのテストで Object のインスタンスを使ってたので Object クラスの shape が汚染されてたので専用のクラスを定義してこれを利用するように変更しています。

[cfb7997353] Stan Lo 2023-05-18 19:00:29 UTC

irbIRB::RubyLex に configure_io というメソッドを追加して set_input や set_auto_indent の処理をまとめるよう変更しています。 https://github.com/ruby/irb/pull/583

[94a513b08f] Takashi Kokubun 2023-05-19 00:05:39 UTC

YJIT の Cargo.toml ファイルで dev_nodebug profile でのビルド時に debug フラグをオフにしていたのをやめています。 https://github.com/ruby/ruby/pull/7822

[741a3bd5a5] Jun Aruga 2023-03-16 16:19:19 UTC

拡張ライブラリ openssl のテスト用の config ファイルのテンプレートを追加しています。 よくわかりませんが FIPS モードでのテストのためみたいです。

[678d41bc51] Jun Aruga 2023-03-16 20:36:43 UTC

拡張ライブラリ openssl の OpenSSL.fips_mode や OpenSSL.fips_mode= メソッドの実装の OpenSSL 3.0 対応を追加しています。

[b26ddfd72f] Jun Aruga 2023-05-16 20:01:43 UTC

678d41bc51fe31834eec0b653ba0e47de5420aa0 の openssl の FIPS モード対応の再修正で preprocessor 分岐でマクロをそのままチェックしていたのを defined() で定義の有無のチェックをするように変更しています。

[74600917a8] Hiroshi SHIBATA 2023-05-19 00:08:39 UTC

拡張ライブラリ openssl のテストで RHEL9 で skip するようにしていたテストが 678d41bc51fe31834eec0b653ba0e47de5420aa0 の対応で不要になったようなので revert してテスト実施するようにしています。

[b54b388f2a] Adam Daniels 2023-05-19 01:33:28 UTC

irb の rdoc のドキュメント表示のダイアログのための Proc オブジェクト内の処理で Alt+d キーを押すと表示するところを macOS では Option+d と表示するように RUBY_PLATFORM をみて変更するようにしています。 https://github.com/ruby/irb/pull/584

[b70e3f44c1] Takashi Kokubun 2023-05-19 02:32:39 UTC

拡張ライブラリ objspace のテスト で Object Shape でインスタンス変数が多すぎるクラスの時のテストが YJIT が有効な時に失敗することがあるみたいで skip するようにしています。

[875adad948] Takashi Kokubun 2023-05-19 03:55:35 UTC

b70e3f44c1d86fed92a63832fbf69a0764675ebb で YJIT が有効な時に skip するようにしたテストを RJIT が有効な時にも同じく skip するようにしています。