ruby-trunk-changes 2024-06-05

今日は YJIT の不具合修正や Windows 版で外部ライブラリの libgmp を利用できるようにする変更などがありました。

[a2147eb694] Takashi Kokubun 2024-06-04 14:17:40 UTC

YJIT で "<<" メソッドの最適化命令の利用があった場合にその次に getconstant 命令があった時に不具合があって JIT が行われなくなってしまってたのを修正しています。 https://github.com/ruby/ruby/pull/10903

[8627225704] Burdette Lamar 2024-06-04 15:19:50 UTC

defs/known_errors.def の errno に対応するメッセージの追加、修正を行っています。 https://github.com/ruby/ruby/pull/10897

[f7b53a75b6] Jean Boussier 2024-06-04 15:27:29 UTC

YJIT のコードコンパイル中に警告の出力が行われる可能性がある関数を呼ぶと Warning.warn が再定義されているとフックとしてそれが呼ばれるため ruby のコードが動くことになり問題があるとのことで、対象の rb_shape_get_next() という関数に警告の出力を抑制する rb_shape_get_next_no_warnings() というバージョンの関数を導入して YJIT からはこれを呼ぶようにしています。YJIT の JIT コンパイル時の実装から呼ぶ関数はかなり気をつけないといけないですね。 [ruby-core:118170] [Bug #20522]

[6b379b9b98] Burdette Lamar 2024-06-04 17:50:42 UTC

doc/exceptions.md というファイルを追加して例外処理についての一般的な話を追加しています。 https://github.com/ruby/ruby/pull/10865

[69dc6416be] tompng 2024-06-04 13:16:25 UTC

bundler のテストの bundle コマンドの readline を利用した出力のチェックの正規表現のチェックを緩めています。

[40a9e806f2] Takashi Kokubun 2024-06-04 18:31:00 UTC

tool/merger.rb でコミットログを生成する時に backport 対象のコミット間に空白を入れるようにしています。

[5ea843f9b2] Takashi Kokubun 2024-06-04 18:32:54 UTC

一度 revert した ba01d15cf5db96933905d669c68f5cc0cd6910b8 の reline の IO まわりのリファクタリングを再度適用しています。 おそらく 69dc6416be8b3217890b3cfaff85b2134b7956a7 でテストのほうで対応したからでしょう。

[932ecd3a1c] tomoya ishida 2024-06-04 18:34:57 UTC

標準添付ライブラリ reline でエスケープシーケンス出力時に入出力が端末であることのチェックが漏れていたところがあったので追加しています。 https://github.com/ruby/reline/pull/716

[c90cb4d743] Matt Valentine-House 2024-06-04 13:59:57 UTC

bootstraptest/runner.rb で変数名の pathes を paths に変更しています。

[ac429df64f] Jeremy Evans 2024-05-29 23:06:32 UTC

tool/leaked-globals で許容する symbol リストに __retguard_ という prefix を持つものを追加しています。 OpenBSD で ASAN 有効化時に利用されるものみたいです。

[10ecdeb466] Hiroshi SHIBATA 2024-06-04 12:25:33 UTC

require の警告出力のための lib/bundled_gems.rb に fiddle を 3.5 以降警告出力する対象に追加しています。

[5dce2620f2] Hiroshi SHIBATA 2024-06-04 23:57:15 UTC

GitHub Actions の Windows 版 workflow で vcpkg でインストールするパッケージからもう利用しなくなった readline を削除しています。

[2e5e47184c] Hiroshi SHIBATA 2024-06-05 00:00:17 UTC

同じく GitHub Actions の Windows 版 workflow で vcpkg でインストールするパッケージに gmp を追加しています。

[63e9eaa5be] KJ Tsanaktsidis 2024-06-02 00:33:46 UTC

拡張ライブラリ openssl の OpenSSL::PKCS12.create の誤った引数のチェックを強化しています。

[49af001287] "dependabot[bot]" 2024-06-05 02:13:37 UTC

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

[59ab002665] Hiroshi SHIBATA 2024-06-05 01:21:54 UTC

Windows 版で vcpkg でパッケージインストールする時の設定ファイル vcpkg.json を更新して利用する vcpkg のバージョン? の指定を更新しています。 [ruby-core:118172] [Misc #20523]

[f567633a16] tomoya ishida 2024-06-05 04:04:06 UTC

標準添付ライブラリ reline のメソッドが返す Symbol に対応する定数を定義するリファクタリング

[f8abd24b1f] Jean Boussier 2024-06-04 17:39:17 UTC

f7b53a75b648e7156f49c1d5c266e2d85f159fc6 で追加した YJIT のテストで時間がかかりすぎないように子プロセスを起動しないようにしています。また f7b53a75b648e7156f49c1d5c266e2d85f159fc6 と同じく RJIT でも警告出力を抑制した rb_shape_get_next_no_warnings() を利用するようにしています。 [ruby-core:118170] [Bug #20522]

[065190a973] Nobuyoshi Nakada 2024-06-05 08:11:10 UTC

Windows 版で Bignum の実装に libgmp がインストールされていれば利用するようにビルドプロセスを変更しています。 [ruby-core:118173] [Bug #20524]

[d7e558e3c4] Hiroshi SHIBATA 2024-06-05 08:03:25 UTC

require で警告出力するための lib/bundled_gems.rb で logger も 3.5 から警告出力するようにしています。

[f8e3dd4ec1] Nobuyoshi Nakada 2024-06-05 09:01:28 UTC

bignum.c および rational.c で gmp.h を #include する時の Windows 版での警告抑制のための pragma を追加しています。 [ruby-core:118173] [Bug #20524]

[83f02d42e0] Nobuyoshi Nakada 2024-06-05 12:05:16 UTC

065190a973c9534b93e3ff99b789bcc945032dfd および f8e3dd4ec1afab4cd056029982229f3bbea006da の続きで Windows 版での libgmp 利用可否の判定時にみつからなかった時に Makefile に USE_GMP 変数に no を代入するのを書き出すのではなくなにも書かないようにしています。 #ifndef で判定してる場合を考慮してってことかな。 [ruby-core:118173] [Bug #20524]