ruby-trunk-changes 2024-04-30

今日は reline の設定ファイルの条件分岐の機能追加などの変更や parser まわりのメモリリーク修正などがありました。

[018c5717e5] Mari Imaizumi 2024-04-29 12:05:31 UTC

標準添付ライブラリ reline の inputrc からの読み込みで $if の条件に mode=vi/emacs のようにモードのチェックが書けるようにしています。 https://github.com/ruby/reline/pull/687

[ae701031f5] tomoya ishida 2024-04-29 12:08:55 UTC

標準添付ライブラリ reline の全角文字の表示についての修正。 https://github.com/ruby/reline/pull/654

[4c41203bbb] yui-knk 2024-04-29 08:23:28 UTC

node.c から不要な #include "internal/parse.h" を削除しています。

[814d4b5e2c] tomoya ishida 2024-04-29 13:22:59 UTC

標準添付ライブラリ reline の IO#pread での読み込み時の IOError 例外の捕捉を追加しています。 Ctrl-D などで EOF を送出した時にその前の内容が読まれない不具合を修正しているようです。 https://github.com/ruby/reline/pull/671

[dbb1ba88eb] Mari Imaizumi 2024-04-29 13:35:56 UTC

標準添付ライブラリ reline のバージョンを更新しています。 https://github.com/ruby/reline/pull/691

[90db9c87a3] git 2024-04-29 13:36:59 UTC

NEWS の default gems のバージョンリストの reline のバージョンを更新しています。

[95d036aaf0] Peter Zhu 2024-04-29 17:06:39 UTC

ruby_parser.c の parser_free() で引数の構造体のメモリ解放が抜けていたのを修正しています。

[e3bfd25bd2] Peter Zhu 2024-04-29 17:07:14 UTC

ruby_parser.c の rb_ast_t 構造体のメモリ管理の不具合を修正しています。 ast_alloc() で引数に rb_ast_t のポインタを受け取って TypedData_Make_Struct() ではなく TypedData_Wrap_Struct() でオブジェクトに wrap するようにしていますが、これだとその間に例外などの大域脱出の発生しうる処理があるとメモリリークするので TypedData_Make_Struct() してからポインタ取り出すようにしてたんじゃないかなぁ。

[845f2db136] Randy Stauner 2024-04-29 18:32:07 UTC

YJIT に TrueClass#=== メソッドをインライン化する最適化を追加しています。 https://github.com/ruby/ruby/pull/10640

[adae813c5f] Randy Stauner 2024-04-29 19:25:22 UTC

845f2db1360032a0506c5d5a8570f5c73a2588a3 と同様に FalseClass#=== メソッドも YJIT でインライン化する最適化。 https://github.com/ruby/ruby/pull/10679

[de0ad3be8e] Alan Wu 2024-04-29 20:08:06 UTC

YJIT の Rust 実装で VM のキャッシュの invalidate のための処理で VM のロック取得するように修正しています。

[470eceff8f] Alan Wu 2024-04-29 19:55:10 UTC

YJIT でデバッグメッセージ? のために String オブジェクトを利用していたところを依存をなくしています。

[0aefd2f784] Alan Wu 2024-04-29 20:54:39 UTC

GitHub Actions の YJIT を有効にしたビルドの workflows で rubyspec の実行時に -T オプションを渡すようにしています。その他のオプションを ruby プロセスに渡すために必要だったとのこと。 https://github.com/ruby/ruby/pull/10599

[528c4501f4] yui-knk 2024-04-26 09:16:36 UTC

parse.y の構造体 struct parser_params の ruby_sourcefile_string メンバーの型を VALUE による文字列オブジェクトから rb_parser_string_t を利用するようにリファクタリングしています。

[431711a8bb] "dependabot[bot]" 2024-04-29 02:11:03 UTC

GitHub Actions の workflows で利用している ruby/setup-ruby アクションのバージョンを更新しています。

[8fb430c1da] tomoya ishida 2024-04-30 10:29:34 UTC

標準添付ライブラリ irb の sub irb 実行後に IRB::Config[:MAIN_CONTEXT] を復旧させるように修正しています。 https://github.com/ruby/irb/pull/937