ruby-trunk-changes 2022-01-27

今日は irb の不具合修正や JRuby 向けの標準添付ライブラリの対応などがありました。

[e714163011] Peter Zhu 2022-01-26 14:45:22 UTC

gc.c の RGENGC_CHECK_MODE が真の時の assertion の式の構造体の参照の typo 修正。

[b6b2e489f1] manga_osyo 2021-12-05 23:57:56 UTC

Binding#irbirb を起動した時にそのコンテキストに print メソッドが定義済みだとそちらを誤って呼び出してしまうとのことで Kernel.print とモジュール関数として呼び出すように修正しています。 [ruby-core:106495] [Bug #18389]

[3ce97a182f] git 2022-01-26 16:29:05 UTC

version.h の日付更新

[1a180b7e18] Jemma Issroff 2022-01-25 21:04:17 UTC

VM の callcache のための構造体 struct rb_callcache の aux_.attr_index の値を 0オリジンで格納しておくようにして不要な +1 や -1 を削るようにしています。また vm_cc_attr_index_p() という関数を導入するリファクタリングも行なっています。

[d3d888b986] Matt Valentine-House 2022-01-26 20:16:33 UTC

misc/lldb_cruby.py に macOS では定数マクロ HEAP_PAGE_ALIGN_LOG が 16に定義されるのに対応して分岐を追加しています。 lldb_cruby.py って定数の参照のために Python の変数に代入しておくようになってるのか。

[99d02caed3] Jesse Chavez 2022-01-26 19:05:21 UTC

標準添付ライブラリ logger の log rotation 時にファイルのロックをとるための実装を Windows 上の環境では空の実装にするための分岐に RUBY_PLATFORM をみるというのを使っていたので、JRuby では判定がうまくいっていなかったので RbConfig::CONFIG['host_os'] を参照するように修正しています。

[6a6227e016] Nobuyoshi Nakada 2022-01-26 15:53:12 UTC

Integer#<< や Integer#>> などのビットシフトのメソッドで receiver が 0 の時のショートカットを追加しています。 [ruby-core:107290] [Bug #18517]

[7ff1bf3178] Nobuyoshi Nakada 2022-01-26 15:15:33 UTC

テストに alias であるメソッドと同じ名前の alias をつけると再定義の警告が抑制されるという動作についてのテストを追加しています。

[e89d80702b] Nobuyoshi Nakada 2022-01-26 15:28:39 UTC

7ff1bf317887c0d7b21e91ad548d07b9f05c540c とも関係ありそうですが alias でメソッド名と同じ名前を別名として渡して alias を呼ぶと警告を抑制するために? そのメソッドへの参照を増やしていたため循環参照状態になって method definition が GC で回収されなくなるので、使い捨ての特異メソッドとか remove_method で削除される使い捨てのメソッドなどの場合に少しずつメモリリークしていたという不具合を修正しています。 よく気がついたなぁ。 LSAN/Valgrind で検出したとのこと。 [ruby-core:107287] [Bug #18516]

[f511ff3b3a] Charles Oliver Nutter 2022-01-27 05:29:17 UTC

標準添付ライブラリ yaml で psych が load できなかった時の警告を JRuby 向けに独自のものを出力するようにしています。