ruby-trunk-changes 2024-02-13

今日は assert() のかわりに RUBY_ASSERT() を利用する変更や Proc/Method/UnboundMethod の clone/dup の実装の変更などがありました。

[d4a6c6521a] Benoit Daloze 2024-02-12 13:00:58 UTC

Windows 版の GitHub Actions の workflow で make test-spec の実行前に make install するようにしています。

[190a55d27f] Peter Zhu 2024-02-09 17:06:53 UTC

新規オブジェクト作成時の関数 newobj_alloc() の引数で rb_ractor_t を受け取っていたのを Ractor 毎のオブジェクトの slot のキャッシュの構造体 rb_ractor_newobj_cache_t を直接渡すようにリファクタリング? しています。

[739eec0456] Nobuyoshi Nakada 2024-02-12 15:48:10 UTC

yjit.rb の rdoc 用のタグコメント :stopdoc: を class 文から改行したところに書くようにしています。 :nodoc: と違って :stopdoc: は文単位には使えない模様。 https://github.com/ruby/ruby/pull/9916

[c04782c2cb] Takashi Kokubun 2024-02-12 16:56:24 UTC

yjit.rb で不要な Enumerable のメソッド呼び出しを減らす最適化と rdoc 用の :nodoc: タグコメントの追加。 https://github.com/ruby/ruby/pull/9912

[de1a586ecc] Jean Boussier 2024-02-12 11:03:36 UTC

clone や dup の実装を Proc, Method, UnboundMethod などでは独自に実装していたのを Object の実装と似たようにするため proc.c の専用の CLONESETUP() という関数の利用をやめて rb_obj_clone_setup()/rb_obj_dup_setup() を利用するように変更しています。とはいえ独自のメソッドの定義自体はしています。一貫性のためとのことですが、互換性の問題がないか心配ですね。 [ruby-core:116643] [Bug #20250] [ruby-core:116656] [Bug #20253]

[e4d3e652ff] Takashi Kokubun 2024-02-12 17:56:44 UTC

YJIT で使うために vm_method.c の check_overloaded_cme() という関数名を rb_check_overloaded_cme() と改名して export し、method entry の取得時に利用するようにして引数の違いにより最適化できる時の対応を追加しています。 https://github.com/ruby/ruby/pull/9913

[e878bbd641] Alan Wu 2024-02-09 00:10:51 UTC

VM 命令 splatkw の Hash を渡すオペランドnil を渡すのを受付けるようにして、**nil のような呼び出しの YJIT での対応を追加しています。 [Bug #20064]

[7af97dc71f] tomoya ishida 2024-02-12 18:38:27 UTC

irb の組み込みコマンド show_source で RubyVM.keep_script_lines が使える時はこれを利用して ASN のノードに保存されている行の内容を利用するようにするほか重複した処理を避ける最適化などが行なわれています。 https://github.com/ruby/irb/pull/862

[2131d04f43] Alan Wu 2024-02-07 03:28:52 UTC

YJIT でキーワード引数の splat 渡しの対応を強化しているようです。

[84d8dbe7a5] Nobuyoshi Nakada 2023-10-18 08:47:48 UTC

ちょっとよくわかりませんが脱最適化のために最適化対象となるメソッドの再定義をチェックする機構が ruby 実装のメソッド内でも使えるように(YJIT のためかな?)しているようです。

[4f1a466522] Burdette Lamar 2024-02-12 20:01:46 UTC

doc/contributing/documentation_guide.md で自動リンクを抑制するためのエスケープの基準についての記述を変更しています。 https://github.com/ruby/ruby/pull/9907

[ac38f259aa] Peter Zhu 2024-02-08 14:37:56 UTC

string.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[1228751af6] Peter Zhu 2024-02-08 14:40:15 UTC

array.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[6906e502f9] Peter Zhu 2024-02-08 14:40:55 UTC

bignum.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[de7a29ef8d] Peter Zhu 2024-02-08 14:41:38 UTC

compile.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[7256e38f86] Peter Zhu 2024-02-08 14:42:16 UTC

complex.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[11ffee88b5] Peter Zhu 2024-02-08 14:42:51 UTC

darray.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[436191abe0] Peter Zhu 2024-02-08 14:43:07 UTC

enum.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[ea92374bf7] Peter Zhu 2024-02-08 14:43:39 UTC

id_table.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[5644d90da0] Peter Zhu 2024-02-08 14:43:56 UTC

load.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[fd87259a26] Peter Zhu 2024-02-08 14:44:15 UTC

numeric.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[3ed5962755] Peter Zhu 2024-02-08 14:44:44 UTC

range.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[9a2b692249] Peter Zhu 2024-02-08 14:45:03 UTC

rational.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[80700f453e] Peter Zhu 2024-02-08 14:45:28 UTC

thread_sync.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[0536b2ce48] Peter Zhu 2024-02-08 14:45:51 UTC

weakmap.c で素の assert() を利用しているところを RUBY_ASSERT() マクロを利用するようにしています。

[cbdabd5890] Alan Wu 2024-02-12 20:57:37 UTC

YJIT メソッド呼び出しのキーワード引数処理でのスタック操作の不具合修正。

[f41d8f38b4] BurdetteLamar 2024-02-12 20:51:30 UTC

Array の rdoc 用コメントの各所で Array のリンク抑制にバックスラッシュでエスケープしていたのを +xxx+ でマークアップする方式に変更しています。

[8a345860d3] yui-knk 2024-02-12 04:32:01 UTC

Hash リテラルのキーの重複チェックの対象に __ENCODING__ も追加しています。

[4a6384ed93] Hiroya Fujinami 2024-02-13 00:53:03 UTC

正規表現の部分式呼び出しという記法を使った時の不具合を修正しています。 https://github.com/ruby/ruby/pull/9897 [ruby-core:116627] [Bug #20246]

[1f0fa31834] KJ Tsanaktsidis 2024-02-12 22:51:04 UTC

doc/contributing/building_ruby.md の typo 修正。

[785aa47cd6] License Update 2024-02-11 00:24:12 UTC

rubygems のライセンス一覧のリストに新しいライセンス名を追加しています。

[038189b61f] yui-knk 2024-02-12 09:23:28 UTC

parse.y で rb_str_hash() を利用していたところを rb_parser_str_hash() という関数を追加してこれを呼ぶようにして CRuby 本体への依存を減らすようにしています。

[01d4d5b8b3] Nobuyoshi Nakada 2024-02-13 07:11:44 UTC

GitHub Actions の MinGW 版の workflow で無視すべきファイルのパターンから重複していたものを削っています。

[e848848b58] Otávio Schwanck dos Santos 2024-02-11 10:03:47 UTC

標準添付ライブラリ reline の vi mode での "C" コマンドの対応を追加しています。 https://github.com/ruby/reline/pull/472