ruby-trunk-changes 2025-08-21

今日は Math.log1p や Math.expm1 などの新規メソッド追加や先日の Object Shapes 関連の fields_obj のキャッシュ追加の再修正などがありました。

[9d484e3412] Peter Zhu 2025-08-20 14:57:47 UTC

vm_method.c のインデント修正のみ。

[5c96bbf36a] John Hawthorn 2025-08-20 02:13:00 UTC

拡張ライブラリ socket の名前解決で既に解決済みのアドレス情報が渡された時に DNS 問い合わせのタイムアウト対応のために Thread を起動する必要がなければショートカットして直接 getnameinfo() を呼ぶようにしています。

[2c7ec3d155] Peter Zhu 2025-08-20 14:53:18 UTC

複数 Ractor 利用時の callcache の無効化処理時にメソッド呼び出しで参照するほうのロックを取得していなかったので race condition があった不具合の修正。

[19ad72d2eb] Stan Lo 2025-08-20 20:17:43 UTC

ZJIT でさらに Option を返してた関数の戻り値を削っています。 https://github.com/ruby/ruby/pull/14286

[426cdb2c01] Takashi Kokubun 2025-08-20 20:28:08 UTC

.gdbinit の rp コマンドで T_OBJECT 型オブジェクトのダンプでインスタンス変数が slot に埋め込まれている数を取得するのにすでに削除された rb_shape_get_shape() という関数が利用されていたので inline 関数 RSHAPE_CAPACITY() を呼ぶようにしています。

[60189671f5] "dependabot[bot]" 2025-08-20 07:46:27 UTC

vcpkg.json の builtin-baseline の commit hash を更新しています。 dependabot で更新するようにしてた vcpkg のバージョンっていうのはこれのことか。

[feb8331673] John Hawthorn 2025-08-20 20:41:09 UTC

callcache 用のテーブルを設定する時に で複数 Ractor 利用時の修正のため複製を作るようにしています。なんかかなり遅くなりそうな気がするけど大丈夫なのかな。

[f2b1017b3d] Yusuke Endoh 2025-08-02 11:15:06 UTC

libm に存在する expm1() と log1p() に対応する Math のメソッド Math.expm1 と Math.log1p を新規追加しています。それぞれ Math.exp(x)-1 と Math.log(x+1) と一致する関数みたいです。 C99 で定義されているライブラリ関数だそうです。 [ruby-core:122898] [Feature #21527]

[d318dc6938] Yusuke Endoh 2025-08-21 10:20:42 UTC

NEWS に f2b1017b3df5f93aaf1d4ccd758d341298aa8dcc で新規追加した Math.log1p と Math.expm1 について追記しています。

[a837ec0962] Nobuyoshi Nakada 2025-08-21 10:59:00 UTC

configure で CentOS 6 向けに __deprecated__ の attribute のチェックをしていたのをもう不要として削除しています。

[b6bf44ae0f] Jean Boussier 2025-08-21 11:24:45 UTC

2083fa89fc29005035c1a098185c4b707686a437 で Object Shapes の fields_obj の参照に rb_execution_context_t に cache の保持を追加した変更で、インスタンス変数を fields_obj に追加する時に別の場所で既に更新されてた場合の考慮が漏れていて異常終了する可能性があった不具合を修正しています。 [ruby-core:122987] [Bug #21547]