ruby-trunk-changes 2024-01-31

今日は主に YJIT の最適化追加や ISeq へのコンパイル処理で中間オブジェクト生成を抑制する最適化などがありました。

[f73ae05819] Yusuke Endoh 2024-01-30 11:34:05 UTC

WASM/WASI 環境ではシグナルハンドラの登録に struct sigaction のメンバー sa_handler を利用するようにしています。関数ポインタの引数の数の違いがビルドエラー? になるみたいです。

[fd44b42fb3] tomoya ishida 2024-01-30 12:55:43 UTC

irb予約語 alias と undef の文法解析がうまくいってなかった不具合を修正しています。 https://github.com/ruby/irb/pull/838

[64fa4c7587] Nobuyoshi Nakada 2024-01-30 13:36:47 UTC

tool/rbinstall.rb のオプション --help で出力するヘルプメッセージにインストールのタイプ(local, arch, lib などがあるみたい)ごとの説明を出力するようにしています。

[928f388415] yui-knk 2024-01-30 13:14:41 UTC

拡張ライブラリ ripper のコメントのサンプルを修正しています。

[4e72c9af87] Nobuyoshi Nakada 2024-01-30 14:45:43 UTC

64fa4c758734433d225f336ca63b4d2619fed8e5 の tool/rbinstall.rb でのヘルプメッセージの桁数の計算で閉じかっこが漏れていたのを修正しています。

[846f87ee0a] Jun Aruga 2024-01-30 14:25:35 UTC

Travis-CI で s390x の環境に問題が発生しているみたいで一時的にコメントアウトしています。

[332e0db675] Jeremy Evans 2024-01-30 00:31:15 UTC

命令列 ISeq へのコンパイル時の引数の処理での不要な中間配列の生成を抑制する最適化。

[20732cadfd] Jeremy Evans 2024-01-30 15:30:06 UTC

332e0db675cd35b60ea82acbc0710d9062c0c92a で関数 compile_array() に追加した引数 first_chunk の型を int から bool に変更しています。

[1891b4b6c3] Takashi Kokubun 2024-01-30 17:49:25 UTC

NEWS に Array#each が ruby 実装になったことを追記しています。 [ruby-core:116503] [Bug #20227]

[fe5590e464] Maxime Chevalier-Boisvert 2024-01-30 19:57:13 UTC

YJIT に Integer#^ メソッドの処理を inline 化してコンパイルする最適化を追加しています。 https://github.com/ruby/ruby/pull/9763

[c1f8d974a8] Takashi Kokubun 2024-01-30 19:59:53 UTC

YJIT の VM 命令 splatkw のコンパイル時にオペランドが Hash の直接のインスタンスでなくても T_HASH 型であれば対応するようにしているみたいです。 https://github.com/ruby/ruby/pull/9764

[dddef93bbd] Peter Zhu 2024-01-30 15:12:06 UTC

File.expand_path メソッドに Encoding の不一致で例外が発生する時にメモリリークがあったのを修正しています。

[f3df218f48] "S.H" 2024-01-31 04:31:38 UTC

ruby_parser.c に rb_node_const_decl_val() というユーティリティ関数を導入して parse.y から利用するリファクタリング。これにより Universal Parser 用の構造体から rb_ary_join() と rb_ary_reverse() への関数ポインタを渡す依存を消しているようです。しかし ruby_parser.c からは依存しているので、結局 rb_node_const_decl_val() の API を実装したい人には欲しくなるんじゃなかろうか。

[7c8f9603b1] Hiroshi SHIBATA 2024-01-31 01:50:06 UTC

拡張ライブラリ json からの default gems の ostruct への依存を optional なものにしてなくても LoadError にならないようにしています。

[3de2ab7fdb] Hiroshi SHIBATA 2024-01-31 02:01:31 UTC

同様に標準添付ライブラリ yaml で標準添付ライブラリ pstore への依存を optional なものにしてなくても LoadError にならないようにしています。

[45b53dd897] Naoto Ono 2024-01-30 14:17:50 UTC

よくかりませんが tool/lib/test/unit.rb に --launchable-test-reports というオプションの対応を追加して、JSON フォーマットでテスト結果を書き出すようにしているみたいです。 launchable というサービスで利用するためのものみたいですね。 https://github.com/ruby/ruby/pull/9757

[a7ebe467a7] Naoto Ono 2024-01-31 05:14:24 UTC

45b53dd897a32b7d26982a0793aac429b3bf86fa で追加した tool/lib/test/unit.rb のメソッド定義のあいだに空行を追加しています。

[2deb105a31] "dependabot[bot]" 2024-01-26 02:19:39 UTC

GitHub Actions の workflows で利用している ruby/setup-ruby アクションのバージョンを更新しています。

[816ce53a8a] Jun Aruga 2024-01-30 19:38:02 UTC

7ded31d36dc78c1495b03a45ec1a3235fdd81f1eTravis-CI での s390x-linux でのビルドをコメントアウトしていたのを revert しています。障害が復旧したようです。