ruby-trunk-changes 2023-03-29

今日は主に標準添付ライブラリ reline の修正や YJIT のコマンドラインオプション追加などがありました。

[c86ccccbd7] Nobuyoshi Nakada 2023-03-28 08:58:45 UTC

46132e78b7438389bf49a860a0cd8957f685dcb3 で tool/rbs_skip_tests に rbs のテストから pathname のメソッドのテストを skip 対象に追加していたのをテストに使う rbs の commit hash 更新したので revert して削除しています。

[6ce6b4d1e7] "NARUSE, Yui" 2023-03-28 12:01:44 UTC

GitHub Actions の workflow 設定に merge_group というトリガーの対応を追加しています。 Merge Queue がらみの設定かな?

[417b1a3644] Peter Zhu 2023-03-27 17:55:43 UTC

Variable Width Allocation を無効にしてビルドした時に T_CLASS 型オブジェクトの解放時に環境によってメモリリークがあったのを修正しています。 USE_RVARGC マクロで free の必要性を判定していましたが RCLASS_EXT_EMBEDDED でより直接的に rb_classext_t が埋め込みかどうか判定するように修正しています。32bit のシステムでメモリリークしていたみたいです。 [ruby-core:113026] [Bug #19550]

[1e9a218ade] Stan Lo 2023-03-28 12:49:44 UTC

標準添付ライブラリ reline の Reline::Unicode.calculate_width で String#scan のブロックのブロックパラメーターを配列のまま受け取ってインデックスでアクセスしてたのをブロックパラメーターを受け取る時点で展開して変数に受け取るようにリファクタリングしています。

[2488b4dd0d] "NARUSE, Yui" 2023-03-28 15:47:10 UTC

GitHub Actions の bundled gems の更新チェックなどの workflow を master ブランチでのみ動くように設定追加しています。

[2f8a598dc5] Takashi Kokubun 2023-03-28 18:40:48 UTC

YJIT の Context の扱いについての変更ですが YJIT の実装のルールの理解が必要そうでよくわからず。 https://github.com/ruby/ruby/pull/7610

[39a34694a0] Maxime Chevalier-Boisvert 2023-03-28 19:21:19 UTC

YJIT 用のコマンドラインオプションに --yjit-pause を追加して YJIT を一時無効にして起動できるようにしています。これに呼応して RubyVM::YJIT.resume というメソッドも追加してこれで YJIT 機能を有効にできるようにしています。 https://github.com/ruby/ruby/pull/7609

[f241a8de56] Nobuyoshi Nakada 2023-03-29 00:52:33 UTC

9c687c65ee177f0bb160dbcb090bfcc5f59620f1 で追加した URI() のパースの処理時間のテストで assert_linear_performance に rehearsal キーワード引数を渡してウォームアップを増やしています。

[8c8d068016] Hiroshi SHIBATA 2023-03-29 03:46:55 UTC

拡張ライブラリ win32ole のテストで WIN32OLE.codepage のテストを mswin 版の時に skip するようにしています。

[e26908dc4b] tomoya ishida 2023-03-29 06:54:03 UTC

標準添付ライブラリ reline の Reline::Unicodeエスケープシークエンスを切り出すための正規表現を修正しています。

[f8f15e247d] git 2023-03-29 07:00:50 UTC

gems/bundled_gems と NEWS の debug.gem のバージョンを更新しています。

[9a1f6975c5] Takashi Kokubun 2023-03-29 06:48:42 UTC

RJIT の各種 VM 命令をコンパイルする処理の ruby 部分で利用している Struct の RubyVM::RJIT::InsnCompiler::CallingInfo に send_shift と block_handler というメンバーを追加して呼び元で別途変数をとりまわしていたのを不要にしたりしています。

[a807fa6f9b] Hiroshi SHIBATA 2023-03-29 07:48:16 UTC

GitHub Actions の Windows 版の workflow でパッケージのインストールに chocolatey を利用していたのを scoop というパッケージマネージャに切り替えています。

[54ddf58a29] Hiroshi SHIBATA 2023-03-29 08:22:27 UTC

GitHub Actions の Windows 版 workflow で環境変数YACC に win_bison を設定していたのが a807fa6f9b3a1dab9275df4e197b4c9f581253ef でパッケージマネージャを scoop に変更したため不要になったようで削除しています。

[3155b76eb4] Hiroshi SHIBATA 2023-03-29 08:32:42 UTC

GitHub Actions の Windows 版 workflow で scoop によるパッケージインストールのため環境変数 PATH へパスを追加しています。

[02ecdf85c5] Stan Lo 2023-03-29 10:20:24 UTC

標準添付ライブラリ reline の Reline::Unicode.take_range メソッドの省略可能な第4引数 encoding を削除して常に第1引数 str の Encoding を利用するようにしています。