ruby-trunk-changes 2024-11-22

今日は主に GC の外部実装の mmtk を取り込む変更などがありました。

[890c83e607] Jerome Dalbert 2024-11-21 01:43:22 UTC

bundler の bundle remove で Gemfile の gem の記述にオプションがついているとうまく削除できなかった不具合を修正しています。

[680e060026] Matt Valentine-House 2024-11-20 16:20:38 UTC

prism parser 利用時に拡張ライブラリ coverage を使った branch coverage の計測時に異常終了する不具合を修正しています。 https://github.com/simplecov-ruby/simplecov/issues/1113 [ruby-core:119735] [Bug #20866]

[640bacceb1] Matt Valentine-House 2024-11-20 22:11:01 UTC

GitHub Actions の parse.y を parser に指定する workflow で configure に渡すオプションが typo していて parse.y の指定ができてなかったのを修正しています。

[8ae7c22972] Kunshan Wang 2024-11-19 08:07:22 UTC

Linux に固有の機能で mmap(2) で確保した仮想メモリの領域に prctl(2) を使って名前を付ける機能を利用して 5.17 以降の kernel 上で名前をつけるようにしています。 rb_bug() の出力で使われるのかな。

[8ea349515a] Jerome Dalbert 2024-11-21 03:38:10 UTC

bundler のテストにサブコマンドに対応する man ページが揃っていることを確認するテストを追加しています。

[3b5b34e3ae] Adam Daniels 2024-11-19 15:39:28 UTC

rubygems の gem exec コマンドで外部コマンドを実行する時にプロセス名を設定して実行しているコマンドの名前を使うようにしています。

[801e66352e] Matt Valentine-House 2024-11-19 16:01:06 UTC

tool/sync_default_gems.rb に gc の外部実装の mmtk を upstream の ruby/mmtk から同期させる対応を追加しています。標準添付されるようになるんですね。

[4e01878bad] Nobuyoshi Nakada 2024-11-22 01:36:05 UTC

C API のテスト用の拡張ライブラリ ext/-test-/econv/append.c で引数の文字列への変換を追加しています。 [ruby-core:119980] [Bug #20903]

[5bd144c1bb] Yusuke Endoh 2024-11-22 05:29:47 UTC

拡張ライブラリ io/console で ASAN を有効にした CI で異常終了が発生してるのでそのデバッグのため端末サイズを得る console_winsize() で ioctl(2) に TIOCGWINSZ を指定して端末サイズを得る実装をして ioctl() が正数を返した時に rb_bug() で異常終了させるようにしています。

[37a72b0150] git 2024-11-22 07:00:50 UTC

gems/bundled_gems と NEWS の bundled gems のバージョンリストの minitest のバージョンを更新しています。

[f90c356317] Kazuhiro NISHIYAMA 2024-11-22 08:46:29 UTC

NEWS の [Feature #19714] へのチケット参照をリンクにするための footnote を追加しています。

[211aef1bc0] Peter Zhu 2024-11-21 20:33:15 UTC

801e66352e698eb533c535f600d958bc1e07e75e で同期対応をした gc の外部実装 mmtk を github.com/ruby/mmtk から gc/mmtk に同期しています。 mmtk というのはいろんな GCアルゴリズムの実装をプラグインできるようにするためのインターフェース? みたいなものみたいですが、とりあえず実装されているのは NoGC (メモリ解放しない?)の実装だけみたいです。 CRuby の GC のインターフェースが要求する部分は C で wrap されていますが本体は Rust 実装のようですね。 [ruby-core:119676] [Feature #20860]

[19840dfd71] Peter Zhu 2024-11-21 20:34:07 UTC

GC の外部実装 gc/mmtk に Mark & Sweep アルゴリズムの実装を追加しています。 [ruby-core:119676] [Feature #20860]

[770ca58cd3] Peter Zhu 2024-11-21 20:35:10 UTC

GC の外部実装の mmtk を拡張ライブラリとしてビルドするために extconf.rb を追加しています。このため gc/mmtk.{ch} は gc/mmtk/ の配下に移動しています。

[80cfa57234] Nobuyoshi Nakada 2024-11-22 08:54:17 UTC

win32/Makiefile.sub の要求する Windows のバージョンを更新しています。 Windows 8 以降をサポート(Vista のサポートを終了)しているようです。 [ruby-core:118237] [Feature #20563]

[0989400a92] sodacris 2024-11-22 11:58:38 UTC

bundler の Bundler#which の Windows 環境での戻り値に .exe 拡張子まで含めるようにしているようです。