ruby-trunk-changes 2020-09-23

今日は bundled gems に rbs が追加される変更などがありました。

[8b41e9b6e7] Aaron Patterson 2020-09-22 15:57:48 UTC

1a9dd31910699c7cd69f2a84c94af20eacd5875c で finalizer 用の管理テーブルを pin down するようにした変更のうち finalizer_table を GC.compact の移動可能チェックをするのもやめてたのを revert しています。また gc_is_moveable_obj() で flags に FL_FINALIZE フラグが立っているものは移動不可と判定する変更も復活させています。前者はなぜ必要なんだろう。

[3c80889802] git 2020-09-22 16:01:25 UTC

version.h の日付更新

[f3dddd77a9] Aaron Patterson 2020-09-22 16:19:42 UTC

8b41e9b6e77b74ba7b90774dc1ff1959b95ca61a で復活させた gc_is_moveable_obj() で FL_FINALIZE フラグをチェックしてるところに理由をコメントで追記しています。finalizer_table はキーが VALUE を数値として扱う numtable を使っていて GC の mark 対象にならない(mark しちゃうと GC で回収されなくなって決して finalizer が呼ばれない)ので別途フラグをチェックして pin down する必要があったということです。なるほど。じゃあ 8b41e9b6e77b74ba7b90774dc1ff1959b95ca61a で finalizer_table の gc_update_table_refs() を復活させてるのはキーじゃなくて対応する finalizer のほうの移動のためかな。

[179384a668] Jeremy Evans 2020-09-22 16:40:45 UTC

eeef16e190cdabc2ba474622720f8e3df7bac43b で Module#refine で上書きしたメソッド内の super の不具合修正したのを revert しています。別のパッチが PR できてるのでそっちのほうが良さそうということみたいです。 [ruby-core:100070] [Bug #17182]

[3d474e19fd] Aaron Patterson 2020-09-17 00:02:23 UTC

misc/lldb_disasm.py に rbdisasm というコマンドを追加して rb_iseq_t 構造体を渡すと VM 構造体を disassemble して表示できるようにしています。

[b904b72960] Burdette Lamar 2020-09-22 21:32:17 UTC

String のメソッドの rdoc 用コメントの修正。 https://github.com/ruby/ruby/pull/3565

[ed27c2514c] Jeremy Evans 2020-09-22 21:04:01 UTC

UNIXSocket のテストで UNIXSocket#recv_io で fd 受信する時にその fd を wrap するクラスとして UNIXSocket を指定するとうまくいかないので IO を使うようにしていたのを修正しています。 UNIXSocket#recv_io の第2引数 mode を指定しなければ大丈夫だったとのこと。 [ruby-core:71860] [Bug #11778]

[e380f78851] Hiroshi SHIBATA 2020-09-11 23:55:14 UTC

deprecated になっていた rb_find_file_safe() と rb_find_file_ext_safe() という C API を削除しています。

[9a8f5f0a9a] Kazuhiro NISHIYAMA 2020-09-23 02:44:06 UTC

String.new の rdoc 用コメントの typo 修正。

[5cc728816d] Hiroshi SHIBATA 2020-09-23 08:38:52 UTC

NEWS の RubyGems と Bundler のバージョンを更新しています。

[b57c54679b] Nobuyoshi Nakada 2020-09-23 06:46:10 UTC

test/fiber/test_scheduler.rb の行末の空白除去。