ruby-trunk-changes 2020-05-22

今日は GC.compact で rb_vm_t からの参照を移動できるようにする変更などがありました。

[a53e2850c5] Aaron Patterson 2020-05-21 17:48:02 UTC

GC.compact で rb_vm_t の保持する VALUE の参照の移動の対応を rb_vm_update_references() に追加してこれらが pin-down されなくてすむようにしています。

[38a4f617de] git 2020-05-21 19:09:15 UTC

version.h の日付更新

[79d9528ddc] Nobuyoshi Nakada 2020-05-21 21:50:23 UTC

6e7e7c1e577d6c2276e9a8cc85c28c55c46c2618 で ISeq のコンパイル中のオブジェクトを pin-down するために導入された struct pinned_list を wrap するオブジェクトを生成する pinned_list_new() で先に TypedData_Make_Struct() するようにしてオブジェクト確保に失敗した時に確保したメモリ領域がリークする潜在的な不具合を修正しています。

[74cd607ca0] Yusuke Endoh 2020-05-22 02:09:08 UTC

RGenGC のテストで minor GC のテストをするためのテストで事前に GC.start を読んでたところを 3回連続で呼ぶように変更しています。

[cbd45af2a9] Koichi Sasada 2020-05-21 18:41:48 UTC

b9007b6c548f91e88fd3f2ffa23de740431fa969 のインラインメソッドキャッシュを T_MEMO 型のオブジェクトとして保つようにして GC にメモリ管理をまかせる変更で、call cache のリストをクラスの cc_tbl に格納する時に既に同じ ID のエントリがあった時にそのまま上書きしてしまっていたので存在したら使いまわすように修正しています。 [ruby-core:98445] [Bug #16900]

[7c4e085938] S-H-GAMELINKS 2020-05-21 18:14:40 UTC

Hash#select の実装 rb_hash_select() に static 修飾子を追加しています。

[e5354de9f4] S-H-GAMELINKS 2020-05-21 18:15:22 UTC

Hash#select! の実装 rb_hash_select_bang() に static 修飾子を追加しています。

[d707c92a35] S-H-GAMELINKS 2020-05-21 18:15:42 UTC

Hash#keep_if の実装 rb_hash_keep_if() に static 修飾子を追加しています。

[ac395754c7] Burdette Lamar 2020-05-22 03:05:19 UTC

Hash#default_proc, #default_proc= と #key の rdoc 用コメントの説明やサンプルを書き直しています。 https://github.com/ruby/ruby/pull/3129

[f4f157fc81] Kenta Murata 2020-05-22 04:49:08 UTC

array.c の flatten() で変数の未初期化警告抑制のための初期化子追加。拡張ライブラリ stringio で rb_check_arity() を使っていたのをやめて switch 文での argc のチェックのエラー時に rb_error_arity() を呼ぶようにする(これは効率のため? コイットログを読むと警告抑制みたいだけど)。 vm_insnhelper.h のマクロ SETUP_CANARY() 内の変数の初期化追加。 https://github.com/ruby/ruby/pull/3107