今日は主に拡張ライブラリ openssl の不具合修正や Class#new のインライン化の TracePoint を有効にした時の互換性の修正などがありました。
[60ffb714d2] Jean Boussier 2025-05-15 10:14:53 UTC
T_IMEMO 型オブジェクトに対して object_id を取得しようとすることがないようにして RUBY_ASSERT() や rb_bug() でチェックをしています。なんかついでに ISeq のオブジェクト生成時に freeze するのを削っているけどこれは関係あるのかな?
[31ba881684] Jean Boussier 2025-05-15 09:31:11 UTC
ObjectSpace._id2ref のために管理テーブルの初期化を遅延実行する時に一時的に GC を無効化するようにしています。
[c3eb406876] Kazuki Tsujimoto 2025-05-15 15:05:42 UTC
gems/bundled_gems の power_assert のテストに使う commit hash の指定を追加しています。 Class#new のインライン化のための opt_new VM 命令の対応が必要だったとのこと。 https://bugs.ruby-lang.org/issues/21298#note-5
[4fc5047af8] Burdette Lamar 2025-05-15 15:18:49 UTC
String#=~ の rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/13325
[b2ab1b0409] git 2025-05-15 15:21:46 UTC
gems/bundled_gems と NEWS の bundled gems のバージョンリストの rbs のバージョンを更新しています。
[0b9644c252] Samuel Chiang 2025-05-15 00:50:04 UTC
拡張ライブラリ openssl のテストで AWS-LC にリンクしている時に skip していた OpenSSL::PKCS7 のテストを実行するようにしています。
[b43c7cf8c4] Kazuki Yamaguchi 2025-05-13 17:09:16 UTC
拡張ライブラリ openssl の OpenSSL::Cipher#encrypt と #decrypt メソッドが可変長の引数を受け付けるように定義されていたのをやめて引数なしのメソッドにしています。昔からあったけどドキュメント化されておらずテストもないためとのこと。
[06a56a7ffc] Kazuki Yamaguchi 2025-04-20 07:22:01 UTC
拡張ライブラリ openssl の OpenSSL::SSL::SSLContext で証明書の設定時に例外が発生した時にメモリリークが発生する場合があった不具合を修正しています。
[04f538c144] Peter Zhu 2025-05-14 19:19:23 UTC
GC の default 実装で GC の実装が拡張ライブラリとしてビルドされる時に internal/sanitizers.h ヘッダを使わないように必要な ASAN 用のマクロ rb_asan_〜() などのダミーの定義を追加するようにしています。
[55c9c75b47] Aaron Patterson 2025-05-01 19:13:31 UTC
Class#new のインライン化のための最適化命令 opt_new で TracePoint など trace 命令化が有効になっている時に脱最適化していたのをやめています。 power_assert の問題への対処みたいですね。 https://bugs.ruby-lang.org/issues/21298#note-5
[d845da05e8] John Hawthorn 2024-11-14 23:21:38 UTC
Ractor 利用時に rb_thread_t::running_time_us のリセットがタイマー割り込みの時に必ず 0 にリセットするようにしています。Ractor 利用時には限らないかも?
[d67d169aea] John Hawthorn 2025-05-14 05:36:09 UTC
thread.c の system_working という変数を volatile 修飾子つきで定義していたのを rb_atomic_t 型にして RUBY_ATOMIC_LOAD()/RUBY_ATOMIC_SET() を使って atomic に操作するようにしています。
[6b10d40157] Max Bernstein 2025-05-15 20:55:38 UTC
ZJIT の Rust 実装で ISeq を再帰的にコンパイルする時時にメモリエラー? が発生した時に null を返すエラー対応を追加しています。
[35000ac2ed] Hiroya Fujinami 2025-05-16 01:14:26 UTC
正規表現のコンパイル時に繰り返し回数の指定が大きい時に free(3) が重複する可能性があった不具合を修正しています。 https://github.com/ruby/ruby/pull/13332
[a0fe0095ab] Samuel Williams 2025-05-16 05:14:23 UTC
ObjectSpace.memsize_of の IO での対応で fork 後の子プロセスでは IO#close 時の待ち合わせのためのメンバー類が触れない可能性があるので計算から除外するようにしています。 https://github.com/ruby/ruby/pull/13359
[9cec38c160] Nobuyoshi Nakada 2025-05-16 11:04:34 UTC
rubyspec の magic comment の encoding 指定を emacs の "-*-" で挟む記法をやめています。 binary は emacs での encoding 名ではないのでとのこと。