ruby-trunk-changes 2023-05-16

今日は主に ruby インタプリタ自体で SIGCHLD のシグナルハンドラを登録していたのをやめる変更や WASI 向けの setjmp 代替実装のバッファ確保の方法の変更などがありました。

[3fe45a3123] Nobuyoshi Nakada 2023-05-15 10:10:24 UTC

Lrama で parse.y を parse.c に変換する時に一時ファイルを経由せずにパイプ経由で処理することで sed でファイル名を置換するのも不要にしています。 拡張ライブラリ ripper 向けの depend ファイルでも同様。 41dccb6a7bebfa8c0e5c8f6e6331a41fa01f9169 の lrama 0.5.0 の機能を利用したものだと思います。

[bab9966b7a] Kazuhiro NISHIYAMA 2023-05-15 13:35:41 UTC

NEWS のチケット参照をリンクにするための footer に URL を追加しています。

[ab7bb38aca] Samuel Williams 2023-05-15 14:14:51 UTC

SIGCHLD のシグナルハンドラを登録して明示的に処理していたところを削除しています。SIGCHLD まわりは何度か変化していて今回の変更で ruby のプロセスレベルでデフォルトで SIGCHLD のハンドラを登録するのはやめているみたいですね。

[8945143464] Yuta Saito 2022-09-04 14:34:24 UTC

WASI 版の setjmp の代替実装で struct __rb_wasm_asyncify_jmp_buf というレジスタなどの情報を対比するためのバッファ? の構造体を構造体埋め込みで持ってたのを malloc(3) でヒープから確保するようにしています。マシンスタックの領域を節約するためみたいです。

[0052132025] "dependabot[bot]" 2023-05-15 15:58:30 UTC

rubygems の Rust 製拡張ライブラリのテストのためのプロジェクトの rb-sys というパッケージのバージョンを更新しています。

[4d1ca2e1f9] Samuel Williams 2023-05-16 03:49:06 UTC

ab7bb38aca0d2b5c2b81142a8e67fbff0f1a4a8a の続きで Signal.trap で SIGCHLD にシグナルハンドラを登録する時に利用するハンドラ関数を通常の関数を利用するように指定を追加しています。 https://github.com/ruby/ruby/pull/7819