ruby-trunk-changes 2024-01-13

今日は主に parser まわりの変更がありました。

[c3b2436154] yui-knk 2024-01-12 03:56:08 UTC

parse.y の set_yylval_literal() というマクロは未使用になっていたので削除しています。

[52d9e55903] yui-knk 2024-01-11 12:27:19 UTC

Universal Parser 用の構造体 rb_parser_config_t のメモリ領域を malloc() でヒープに確保するのをやめてグローバル変数として(.data? .bbs?)領域に確保するようにしています。

[b35e21b388] yui-knk 2024-01-11 22:38:02 UTC

Universal Parser 用構造体 rb_parser_config_t のメンバー counter を削除しています。参照カウンタとして利用していたみたいですが管理が不要になったため。

[731fee04c2] yui-knk 2024-01-07 01:49:18 UTC

ruby_parser.c で OBJ_BUILTIN_TYPE() のかわりに BUILTIN_TYPE() マクロを利用するようにしています。冗長な条件チェックを省くため。

[5a471784ca] yui-knk 2024-01-07 02:00:59 UTC

1b8d01136c3ff6c60325c7609d61e19ac42acd9f で AST に数値系リテラルの専用の node 種別を導入した時に compile_negative_numeric() で未知のタイプのオブジェクトだった時の rb_bug() での異常終了が削られていたので復活させています。

[631eb2a110] yui-knk 2024-01-11 09:40:11 UTC

ruby_parser.c の compile_xxxxx_literal() といった関数名を xxxx_literal() のように compile_ の prefix を削るように改名しています。

[517e0d87bd] yui-knk 2024-01-11 09:42:52 UTC

ruby_parser.c の数値リテラル用の関数群を類似の関数の近くに移動しています。

[8292b01c66] Nobuyoshi Nakada 2024-01-12 13:44:56 UTC

異常終了のための例外クラス fatal の rdoc 用コメントのマークアップ追加。

parse.y の parser_set_encode() でブロックの途中で変数宣言していたのを関数先頭に移動しています。変数未初期化の警告抑制のため。

[16624ef463] ywenc 2024-01-12 15:41:58 UTC

YJIT の VM 命令 expandarray の実装で対象のオブジェクトが Array じゃなかった時に to_ary メソッドで変換を試みる対応を追加しているようです。 https://github.com/ruby/ruby/pull/9495

[8b8dcc7af1] Aaron Patterson 2024-01-12 00:05:21 UTC

Object Shapes の初期化時の mmap(2) がエラーになった時の対応を追加しています。

[e59dd7094f] Alan Wu 2024-01-12 16:30:36 UTC

finalizer の呼び出し時に T_DATA 型オブジェクトの時に環境変数 RUBY_FREE_AT_EXIT が指定されていてプロセス終了時に全てのメモリ解放するように指示されていたら、free 関数が未登録の場合に obj_free() の呼び出しをスキップするのを抑制しています。

[aad246feba] Xavier Noria 2024-01-09 19:04:20 UTC

$SAFE に関する処理を削除した時に deprecated にしていた SafeStringValue() というマクロを利用しているところを StringValue() を使うよう変更しています。

[206388b19e] Peter Zhu 2024-01-12 20:32:24 UTC

057df4379f856a868f588cdc769f397f5739983d でプロセスの名前をつけるための自前実装で environ のメモリ領域を free() するようにしていたのを、オリジナルの environ については free() を呼ばないようにしています。

[b0e0a2a64d] Iztok Fister Jr 2024-01-13 00:01:30 UTC

ruby コマンドの man ページの typo 修正。

[08d4e5ebef] Samuel Williams 2023-12-27 23:30:03 UTC

拡張ライブラリ openssl の OpenSSL::SSL::SocketForwarder モジュールに local_address、remote_address や close_on_exec=、wait などの IO を模倣するための(?)メソッドを追加しています。

[f7178045bb] Samuel Williams 2024-01-01 09:50:32 UTC

拡張ライブラリ openssl の OpenSSL::Buffering モジュールの gets メソッドに IO にあわせてキーワード引数 chomp の対応を追加しています。

[3edb7f1a07] Nobuyoshi Nakada 2024-01-11 13:46:49 UTC

Errno モジュール配下の各種 SystemCallError を継承した例外の定義のための C ソースコードを生成する時に rdoc 用コメントも生成するようにしているようです。

[573bfb3a14] Nobuyoshi Nakada 2024-01-12 15:05:34 UTC

Errno モジュール配下に追加する例外名のリスト defs/known_errors.def にドキュメント用のカラムを追加しています。

[d999ed3a2f] Nobuyoshi Nakada 2024-01-13 07:34:32 UTC

3edb7f1a0747b92ccc22f881e0a74530c0a7036e で Errno 配下に定義する例外クラスの親クラスの指定が間違っていたのを修正しています。

[b92c8934a2] yui-knk 2024-01-13 08:37:31 UTC

同梱している Lrama のバージョンを 0.6.1 に更新しています。

[ccd45a1399] yui-knk 2024-01-13 04:54:13 UTC

parse.y で end トークンの位置情報の管理のために Array オブジェクトを利用していたところをちゃんと専用の構造体を定義してそれを利用するようにリファクタリングしています。