以下の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20260228より取得しました。


ruby-trunk-changes 2026-02-28

今日は ZJIT の最適化や不具合修正、NEWS の自動生成用ツールの追加、GitHub Actions の設定の静的チェック機構の追加などがありました。

[2ecda70f87] Alan Wu 2026-02-27 01:08:54 UTC

ZJIT の中間表現 HIR の GuardType と GuardTypeNot という命令の副作用についてのアノテーションをチェックする型が即値かどうかで細分化してより細かな最適化ができるようにしています。

[486f7fcc27] Nobuyoshi Nakada 2026-02-27 14:09:31 UTC

parse.y のアクション部で空のルールにマッチする変数として @0 ではなく @$ を利用するようにしています。

[f3323b048f] Nozomi Hijikata 2026-02-27 15:33:02 UTC

ZJIT の中間表現 HIR からローカル変数を参照する GetLocal が GetEP+LoadField というプリミティブな命令で表現されるようになったので削除してかわりに LoadSP というよりシンプルな命令を追加しています。 https://github.com/ruby/ruby/pull/16242

[68080febee] Nobuyoshi Nakada 2026-02-27 15:32:21 UTC

parse.y のアクション部で $1, $2 などの番号変数で leaf の参照を取得していたのを名前つきの変数参照するようにリファクタリングしています。

[5d87dd6d36] Max Bernstein 2026-02-27 17:43:59 UTC

ZJIT でメソッドの引数に m(**kw) のように Hash を展開してキーワード引数を渡す時の VM 命令 splatkw 命令の最初の対応をしています。 https://github.com/ruby/ruby/pull/16267

[1e1d8332e7] Max Bernstein 2026-02-27 17:07:04 UTC

ZJIT の中間表現 HIR から GetLEP 命令を削除して GetEP の利用にまとめています。

[d5cca099af] Max Bernstein 2026-02-27 17:10:06 UTC

ZJIT の中間表現 HIR の GetEP 命令の副作用のアノテーションが不足していたので修正しています。

[44fe95ead4] Max Bernstein 2026-02-27 17:11:46 UTC

ZJIT の中間表現 HIR の HasType 命令の副作用のアノテーションに不足があったので修正しています。

[eafbf6e5b9] Max Bernstein 2026-02-27 17:14:11 UTC

ZJIT の中間表現 HIR の IsA 命令の副作用のアノテーションにも不足があったので修正しています。

[50f51f75c6] Tomás Coêlho 2026-02-27 18:13:47 UTC

ZJIT で Integer#| の両辺が T_FIXNUM の定数の時に結果を直接書き込む畳み込み最適化を行うようにしています。 https://github.com/ruby/ruby/pull/16235

[c57d594f73] Max Bernstein 2026-02-27 20:00:29 UTC

ZJIT で Class や Module のインスタンス変数の参照時のために C の関数を呼ぶかわりに中間表現 HIR の LoadField 命令を再利用して実装する最適化を行っています。ただこれは Ruby::Box 利用時には使えないため Box を作成した時に最適化コードを破棄するようにしているようです。 https://github.com/ruby/ruby/pull/16252

[aec4b44d1e] Hiroshi SHIBATA 2026-02-26 08:58:18 UTC

tool/update-NEWS-github-release.rb というツールを追加しています。詳しくみていませんが名前からして NEWS ファイルのエントリを GitHub の release ページから自動生成するものみたいです。

[4ab2383413] Hiroshi SHIBATA 2026-02-26 09:21:57 UTC

aec4b44d1e339044d917f233be7025eea5aa672d で追加した tool/update-NEWS-github-release.rb で既存の NEWS.md ファイルを追加更新する機能を実装しています。

[7c75335148] Hiroshi SHIBATA 2026-02-26 09:24:10 UTC

aec4b44d1e339044d917f233be7025eea5aa672d で導入した tool/update-NEWS-github-release.rb を利用して NEWS.md の default gems と bundled gems のバージョンリストを更新しています。

[9b0a3db068] Hiroshi SHIBATA 2026-02-26 09:38:36 UTC

tool/update-NEWS-gemlist.rb での NEWS.md の更新時に手動での追記部分が削除されないようにする対応を追加しています。

[e43b35f2f1] Hiroshi SHIBATA 2026-02-26 09:43:32 UTC

tool/update-NEWS-gemlist.rb で NEWS のエントリ生成のためひとつ前の ruby のバージョンを取得してコマンドライン引数で指定しなくてもすむようにしています。

[b4367db887] Hiroshi SHIBATA 2026-02-26 09:44:03 UTC

GitHub Actions の bundled gems の更新用 workflow で tool/update-NEWS-github-releases.rb も実行するようにしています。

[3341022648] Hiroshi SHIBATA 2026-02-27 08:59:36 UTC

GitHub Actions の bundled gems の更新チェックの workflow で ruby-setup アクションで明示的に 4.0 の ruby を使うようにしています。 tool/update-NEWS-github-release.rb が 4.0 の機能に依存していたのですかね。

[9348309706] "dependabot[bot]" 2026-02-27 02:10:14 UTC

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

[8fb5df2610] YO4 2026-02-26 13:26:42 UTC

win32/configure.bat で --prefix= のように明示的に空文字列の prefix 指定をした時のエラー(?)を対策しています。

[903b709c61] Hiroshi SHIBATA 2026-02-28 01:48:05 UTC

GitHub Actions の workflows で利用しているアクション群でタグ名で指定しているものを commit hash での指定とコメントでのバージョン番号の記述に切り替えています。

[55f2a8d1bb] Hiroshi SHIBATA 2026-02-28 01:50:29 UTC

GitHub Actions の workflows で利用しているアクション群のバージョンをまとめて更新しています。

[4eadf035d0] Alan Wu 2026-02-20 21:16:48 UTC

ZJIT で Object Shapes の shape_id を得るために C の関数 rb_obj_shape_id() を無条件で呼んでいたのを、オブジェクトが即値かどうかチェックしてから渡すようにしています。 rb_obj_shape_id() は即値でないオブジェクトが渡されることを前提としているので潜在的な不具合があったみたいです。

[3251792f49] Alan Wu 2026-02-27 20:23:42 UTC

ZJIT の Rust 実装で自己参照ループの構造で無限ループに陥る危険のある処理があったので予防のためのチェックを追加しています。

[373eacb841] Hiroshi SHIBATA 2026-02-28 02:21:50 UTC

bundler のテストのヘルパーで Windows 環境での警告出力? を抑制する条件に spec に :realworld というタグが付いている場合を追加しています。

[0b342d29c3] Hiroshi SHIBATA 2026-02-28 03:35:11 UTC

GitHub Actions の codeql-analysis workflow に zizmor というツール? の実行のジョブを追加しています。聞いたことない名前ですが CodeQL の workflow に追加ということはコードの静的チェック系のツールなのでしょうか。

[aef8fd0570] Hiroshi SHIBATA 2026-02-28 04:16:04 UTC

.github/zizmor.yml というファイルを追加して 0b342d29c30564180d3c1d3246edd03f10703cfd で workflow に追加した zizmor の設定ファイルを追加しています。この感じだと GitHub Actions 自体の設定のチェックのツールって感じでしょうか。

[41c11dc31d] Hiroshi SHIBATA 2026-02-28 05:43:28 UTC

GitHub Actions の独自アクションの実装の設定を環境変数として指定するようにしています。これが zizmor の指摘によるものなのかも。

[f47c57d3a1] Hiroshi SHIBATA 2026-02-28 06:03:10 UTC

GitHub Actions の独自 action の定義に zizmor の指摘を抑制するためのコメントを追加しています。やはり zizmor とは GitHub Actions の設定をチェックするツールみたいですね。

[64d63ba060] Hiroshi SHIBATA 2026-02-28 06:16:34 UTC

GitHub Actions の workflows に persist-credentials: false という設定を各所に追加しています。

[4b9af00c9c] Hiroshi SHIBATA 2026-02-28 06:25:11 UTC

GitHub Actions の workflows で設定を環境変数経由にする変更。

[520b089813] Hiroshi SHIBATA 2026-02-28 06:58:28 UTC

GitHub Actions の codeql-analysis という workflow を check_sast と改名しています。zizmor が同居して CodeQL だけの workflow ではなくなったからですね。

[eae6d265d5] Hiroshi SHIBATA 2026-02-28 07:17:51 UTC

GitHub Actions の check_sast workflow で zizmorcore/zizmor というアクションのかわりにより統合された zizmorcore/zizmor-action というアクションを利用するように変更しています。

[b8d714849a] Hiroshi SHIBATA 2026-02-28 07:25:43 UTC

GitHub Actions の modgc workflow で変数展開の書きかたにかっこをつけるように修正しています。

[85b0461626] Hiroshi SHIBATA 2026-02-28 08:12:28 UTC

GitHub Actions の rubyspec の C API テスト用拡張ライブラリの更新チェックのための workflow で環境変数経由の設定にしたのを revert して zizmor の警告抑制のコメントで対応するようにしています。




以上の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20260228より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14