ruby-trunk-changes 2022-03-12

今日は T_ICLASS に対する継承関係チェックの高速化などの変更がありました。

[42e5ec9414] Peter Zhu 2022-03-11 16:45:14 UTC

Array#replace や Array#initialize_copy の実装である rb_ary_replace() で配列の要素数が struct RVALUE に埋め込み可能かどうかの分岐内で重複していた処理を分岐の前に移動するリファクタリング

[95a85b6d31] git 2022-03-11 16:46:32 UTC

version.h の日付更新

[09186f381f] Burdette Lamar 2022-03-11 16:46:47 UTC

doc/documentation_guide.rdoc に C のソースコード内のドキュメント用コメントに非 ASCII 文字を使わないことと必要な時は対応する doc/*.rdoc ファイルを作ってそちらに書くという対処法について追記しています。 https://github.com/ruby/ruby/pull/5641

[9a4bddd761] Peter Zhu 2022-03-11 18:16:29 UTC

array.c の rb_ary_unshare_safe() にその呼び元で常に行なわれていた heap のバッファを開放する処理も移動して rb_ary_reset() という関数名に改名しています。

[4d8f76286b] John Hawthorn 2022-02-19 07:05:23 UTC

昨日の 1b15756d24c11ed6bfddb5ae53402a071a20ea97 での rb_obj_is_kind_of() で T_ICLASS 向けのショートカットを追加する変更のリトライ。 RCLASS_INCLUDER() の継承関係を class_search_class_ancestor() を使ってチェックするショートカットを RCLASS_INCLUDER() の返すのが T_CLASS 型オブジェクトであるという条件を追加しています。

[83fabfccf5] John Hawthorn 2022-03-10 20:19:40 UTC

同一の Module を include した別々の Class のインスタンスからその同じ Module の protected なメソッドが呼べるというのを確認するテストを追加しています。これって呼べるのが仕様なのか。うーんなるほど。