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


ruby-trunk-changes 2025-10-17

今日は Windows 環境で Process.clock_gettime などに使える clock の種類を増やす変更や標準添付ライブラリ ipaddr の例外メッセージの不具合修正などがありました。

[f5d3b6e626] Earlopain 2025-10-15 06:46:32 UTC

prism をライブラリとして利用する時の Prism.parse の version キーワード引数に "current" をサポートして定数の RUBY_VERSION を取得してこれを利用するようにしています。

[aa2d3cd513] Kevin Newton 2025-10-16 12:33:29 UTC

prism のバージョンを 1.6.0 に更新しています。

[ea4c3169c1] git 2025-10-16 12:45:23 UTC

NEWS の default gems のバージョンリストの prism のバージョンも更新しています。

[99929d6f2b] Kevin Newton 2025-10-16 13:20:03 UTC

f5d3b6e6261569a7205b637052d1fec45ae4620b で prism の Prism.parse の version: "current" サポートの実装で Gem::Version に依存していたのをやめて "." で分割する独自実装を書いています。

[6652d5072f] Kevin Newton 2025-10-16 13:59:47 UTC

同じく f5d3b6e6261569a7205b637052d1fec45ae4620b での prism の Prism.parse の version: "current" のための実装で RUBY_VERSION 定数の文字列をそのまま例外メッセージとして渡すのではなくコピーの String オブジェクトを作って渡すようにしています。うーん、これなんでだろ。別に使ってしまっても問題はない気がするけど。

[cea3307fe6] Kevin Newton 2025-10-16 14:10:02 UTC

f5d3b6e6261569a7205b637052d1fec45ae4620b の prism の変更で追加したテストの RUBY_VERSION 定数をすりかえて行なうテストを削除しています。

[a8a8f1c20e] Kevin Newton 2025-10-16 14:29:11 UTC

f5d3b6e6261569a7205b637052d1fec45ae4620b の prism の変更でバージョン文字列のチェックの演算子優先度による条件のミス修正のためかっこを追加しています。

[68f45a6da7] Kevin Newton 2025-10-16 14:37:42 UTC

f5d3b6e6261569a7205b637052d1fec45ae4620b の prism の変更時に追加したテストの assertion で RUBY_VERSION のフォーマットが x.y.z になってる前提になってたものを削除しています。

[f925f1ae7b] Max Bernstein 2025-10-16 15:34:07 UTC

ZJIT で BasicObject#initialize メソッドのインライン化の最適化を実装しています。 BasicObject.new って実行回数多いのかな。 https://github.com/ruby/ruby/pull/14856

[190a3cd475] Aiden Fox Ivey 2025-10-16 17:35:33 UTC

doc/zjit.md で cargo-binstall というプラグイン? の追加手順を追記しています。

[037b6e24ea] Max Bernstein 2025-10-16 19:16:47 UTC

ZJIT で脱最適化のために side-exit できるように命令を書き換えられる patchpoint で再定義などにより side-exit した時の side-exit の理由別カウンタですべての patchpoint が1つにまとめられていたのを、さらに patchpoint の追加理由によってカウンタを分けるようにしています。 https://github.com/ruby/ruby/pull/14858

[9598b4449d] Max Bernstein 2025-10-16 16:57:00 UTC

ZJIT のプロファイラで Xxxx.new といったクラスメソッドの呼び出しが Class#new の呼び出しとしてまとめられてしまっていた? のをそれぞれのクラスの特異メソッドとして分けてカウントされるようにしています。

[3fa8484600] Max Bernstein 2025-10-16 17:06:03 UTC

ZJIT の統計情報のカウンタにインライン化でメソッド呼び出し機構を使わずメソッド実行されるようになったところの実行回数もカウントするようにしています。

[9a80258b23] Peter Zhu 2025-10-15 23:30:31 UTC

クラスの継承関係を管理している st_table からクラスが GC で回収される場合にそのクラスを除去する処理で malloc() を呼ぶ可能性がある st_insert() を使っていたのを st_update() を利用するようにして異常終了の可能性を修正しています。

[4f51f6243e] Aaron Patterson 2025-10-16 21:05:17 UTC

rubygems の Gem::RemoteFetcher#fetch_path で schema に応じたメソッドを呼ぶところで schema が想定される文字列であることをチェックしています。

[9664191e19] Hiroshi SHIBATA 2025-10-17 01:24:15 UTC

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

[ff6bd7fb4e] ishikawa999 2024-04-27 07:24:39 UTC

標準添付ライブラリ ipaddr で例外メッセージの埋め込みで誤ってインスタンス変数を参照して情報が含まれなくなっていた不具合を修正。

[b2d4dc9c46] Nobuyoshi Nakada 2025-10-16 01:41:40 UTC

Windows 版での Process.clock_gettime で指定できる clock の種類の定数を CLOCK_PROCESS_CPUTIME_ID や CLOCK_THREAD_CPUTIME_ID を追加しています。

[5a23716c4f] Nobuyoshi Nakada 2025-10-17 03:01:43 UTC

標準添付ライブラリのテストで使う tool/lib/core_assertions.rb の assert_linear_performance で時間を測定するために Process.clock_gettime で使う clock の種類を選ぶ時に Process.clock_getres で充分な精度がない種類は使わないようにしています。

[2dc23c1ad8] Nobuyoshi Nakada 2025-10-17 06:08:45 UTC

b2d4dc9c46719b1a67bd24a4b4cf444c90621a78Windows 版の Process.clock_gettime に指定できる clock 種類を増やす時に誤って変数の型を書き漏れていたのを修正しています。

[3dc620166b] Nobuyoshi Nakada 2025-10-13 03:53:15 UTC

win32/install-msys-packages.cmd という Windows 環境でのビルド環境のセットアップ? のためのスクリプトを追加しています。

[89961f8581] Nobuyoshi Nakada 2025-10-13 13:05:40 UTC

configure で mingw 版でのサポートしている関数の定義を追加して HAVE_XXX マクロが定義されるようにしています。

[1546362fd1] Nobuyoshi Nakada 2025-10-15 14:12:44 UTC

89961f8581e0b6c84dd24b01c3e1c0f39bd1fdb6 で configure で定義するようにしたので不要になった include/ruby/win32.h での HAVE_CLOCK_GETTIME などのマクロ定義を削除しています。また Windows 版の代替実装の clock_gettime()/clock_getres() に rb_w32_ の prefix を付けるようマクロ定義を追加しています。

[485f079dc5] Nobuyoshi Nakada 2025-10-16 01:43:13 UTC

configure で Windows 環境や macOS での objcopy コマンドに空のコマンド ":" の指定を追加しています。元々 ac_cv_prog_ac_ct_OBJCOPY という変数は設定していましたがこれに加えて ac_ct_OBJCOPY と ac_cv_prog_OBJCOPY も定義しています。これらは何が違うんだろう。

[87593f2c0f] Nobuyoshi Nakada 2025-10-16 12:49:44 UTC

configure で IL32LLP64 (つまり int/long が 32bits で long long とポインタが 64bits) という環境、たぶん Windows かな? で 64bits の変数を 32bits にキャストした時の警告を抑制するようにコンパイラオプションを追加するようにしています。当座の回避のためみたいです。

[c2860bff88] Nobuyoshi Nakada 2025-10-16 13:15:59 UTC

GitHub Actions の MinGW 版の workflow で arm64 の環境でのビルドも追加しています。

[5ced99dddb] Charlie Savage 2025-06-06 06:30:22 UTC

rubygems の CMake を利用した拡張ライブラリのビルドのための実装を大幅に書き直しています。CMake が make に依存しているという仮定をしていたのを CMake のお作法にのっとる使いかたをするようにして別のビルドツールを利用している時にも動くように対応しているようです。

[943b5f66f7] Jun Aruga 2025-10-09 14:52:04 UTC

GitHub Actions の Launchable 用の workflow の actions/setup-python が ppc64le や s390x の環境でうまく動かないのでこれらの環境では Java 版を利用する? ように対応しています。

[837947ac7f] Nobuyoshi Nakada 2025-10-17 08:34:59 UTC

68e03213271f44ae63ad4a4e1ebe3ed59d589a9c で tool/lib/core_assertions.rb でテスト用の拡張ライブラリの require が失敗した時の対応を削除していましたが、やっぱり対応するようにしています。




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

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