今日は主に Fiber の Ractor 対応のための修正や prism の潜在的メモリリーク修正などがありました。
[38ecaca155] Peter Zhu 2025-05-29 14:46:22 UTC
GC の mmtk 実装で RBASIC_RESET_FLAGS() マクロを利用していたのをやめて flags を直接触るようにして internal/object.h ヘッダへの依存をなくしています。
[5b3f1c4c51] Luke Gruber 2025-05-29 15:40:57 UTC
Fiber の machine stack の使いまわしのための pool の操作時に複数 Ractor 対応のため VM ロックの取得を追加しています。
[6a62a46c3c] John Hawthorn 2025-05-23 17:49:21 UTC
rb_classext_t 構造体の max_iv_count や variation_count といったメンバーへの値をセットする時に Namespace を考慮して対応する rb_classext_t にセットしていましたが、この値は Variable Width Allocation でどの slot size の heap を使うかの判定に使うとか Object Shapes の管理の参考に使うものなので struct RClass 内に埋め込まれている部分だけで意味があるので RCLASS_EXT_PRIME() を通して Namespace ごとの rb_classext_t に設定するのをやめています。
[9f91f3617b] Peter Zhu 2025-05-28 18:48:02 UTC
prism 利用時に yield 文が書けないところに書いて SyntaxError を発生させた時に作った node の解放が漏れててメモリリークが発生していた不具合を修正。 https://github.com/ruby/ruby/pull/13464 [ruby-core:122336] [Bug #21383]
[a333fb1ecc] Nobuyoshi Nakada 2025-05-29 11:09:47 UTC
Windows でのビルド向けに win32/install-buildtools.cmd と win32/vssetup.cmd というファイルを追加してセットアップを適切に行なえるようにして、GitHub Actions で利用したり doc/windows.md の手順に反映させたりしています。