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


ruby-trunk-changes 2026-01-15

今日は YJIT/ZJIT の修正/最適化や Binding#irb 実行時に bundled gems の require への警告が出てしまっていたのを抑制する修正などがありました。

[b8566faca5] Nobuyoshi Nakada 2026-01-14 12:28:37 UTC

拡張ライブラリ jsonソースコードの行末の空白除去。

[1ca066059f] Jeff Zhang 2026-01-14 18:37:14 UTC

ZJIT の Rust 実装の Insn::GuardBitEquals で簡易的に実装していた型ごとに同値性をチェックする処理を Type::has_value メソッドとして一般化した実装を追加するリファクタリングhttps://github.com/ruby/ruby/pull/15867

[b21edc1323] Max Bernstein 2026-01-14 21:58:10 UTC

ZJIT で特異クラスがないという前提での最適化を脱最適化したあとで再度特異クラスがないという前提の最適化が行なわれて無駄になるということがあったみたいで、特異クラスの存在チェックをしたあとにその情報を残しておいて不要な最適化を回避するようにしています。 https://github.com/ruby/ruby/pull/15871

[068713964a] Peter Zhu 2026-01-13 22:59:59 UTC

ObjectSpace::WeakMap#inspect メソッドの rdoc 用コメントが存在していなかったので追加しています。

[ac22989066] Alan Wu 2026-01-09 03:42:38 UTC

YJIT のテストに --yjit-dump-insns オプションをつけて ruby を実行するテストを追加しています。どうやらこれは次の 993046847931c6c26ca518dfaf9be6c23c34fc78 で修正する異常終了に関するテストみたいです。

[9930468479] Alan Wu 2026-01-14 04:08:33 UTC

YJIT の --yjit-dump-insns で出力時に利用している asm.cpop_all() と asm.cpush_all() というレジスタの退避/復旧を行うコード生成するメソッド? の呼び出しを削っています。よくわかりませんが最適化のためみたいですけど不具合の原因になっていたのでやめるということみたいです。

[9f3225d0c5] Alan Wu 2026-01-14 04:01:47 UTC

993046847931c6c26ca518dfaf9be6c23c34fc78 の続きで YJIT の cpop_all() に RegMapping という型の引数を追加して cpush_all() で返したレジスタ構成を復旧させるようにして不具合修正しています。

[cdb2b0eed5] Alan Wu 2026-01-14 04:15:47 UTC

YJIT の中間表現の CPopAll 命令のの arm64 アーキテクチャ向けのコード生成の不具合修正。

[4a21b83693] Kevin Menard 2026-01-15 00:10:06 UTC

ZJIT で super の呼び出しを、メソッドエントリが既にわかっているなどの条件が満たされたら直接メソッド呼び出しする HIR 命令に書き換えるといった最適化を導入しています。 https://github.com/ruby/ruby/pull/15816

[806031d2ce] Lars Kanis 2024-12-18 14:13:18 UTC

configure および cygwin/GNUmakefile.in で古い LLVM 向けの対応がもう不要なので削除しています。

[189bb64af8] OKURA Masafumi 2023-12-14 08:52:27 UTC

Module#instance_method の rdoc 用コメントのサンプルコードを整理しています。

[886202bac8] Nobuyoshi Nakada 2026-01-15 03:30:29 UTC

tool/lib/core_assertions.rb の assert_separately で子プロセス内での assertion 数を数えた結果がうまく伝わってなかったのを修正しています。

[de17b84a3d] git 2026-01-15 06:55:51 UTC

gems/bundled_gems の resolv-replace のバージョンを 0.2.0 に更新し、NEWS の bundled gems バージョンリストに項目を追記しています。

[943b085949] Daisuke Aritomo 2025-12-02 17:25:46 UTC

default gems や bundled gems の require に警告を出すための lib/bundled_gems.rb で Binding#irbirb.gem を強制的に activate してロードしている処理がうまく動かなくなっていたのを修正しているようです。 [ruby-core:123966] [Bug #21723]

[270c7fcec1] Daisuke Aritomo 2025-12-04 11:56:31 UTC

同じく default gems や bundled gems の require に警告を出すための lib/bundled_gems.rb の force_activate で環境変数 BUNDLE_GEMFILE や BUNDLE_LOCKFILE を一時的に上書きするようにしています。環境変数ってグローバルなリソースなので並列実行時とかに問題が起きないかな?

[a28c856183] Daisuke Aritomo 2025-12-04 12:02:36 UTC

同じく default gems や bundled gems の require に警告を出すための lib/bundled_gems.rb にコメントを追記しています。

[2d79cc9bfc] Hiroshi SHIBATA 2026-01-15 06:29:22 UTC

default gems や bundled gems の require に警告を出すための lib/bundled_gems.rb のためのテストに Gem::BUNDLED_GEMS.force_activate のテストケースを追加しています。

[ca9c61800b] Daisuke Aritomo 2025-12-02 18:41:21 UTC

default gems や bundled gems の require に警告を出すための lib/bundled_gems.rb で Thread local storage で警告抑制する設定ができるようにして Binding#irb から呼ばれた時の警告を抑制するようにしています。

[6afac93c5c] Hiroshi SHIBATA 2026-01-15 07:52:01 UTC

ca9c61800bce426ea9c4b15911a4f639370f3ec4 の続きで Binding#irb で警告抑制する対象の gem から irb 自身は外しています。




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

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