今日は主に Hash の Variable Width Allocation 対応の実装時のメモリリークの修正などがありました。
[3cfcd3d166] Nobuyoshi Nakada 2023-06-29 14:08:08 UTC
c89f5191706549bb1d7e0277fc07a413714ddecc の続きで common.mk の拡張ライブラリ ripper のソースファイル類の依存関係を EXT_SRCS という変数に入れるところで一旦 ripper_srcs というターゲットを経由するようにしています。並列ビルド時に複数のファイルの自動生成の影響を受けないようにするためみたいです。
[df2b3a2998] Peter Zhu 2023-06-29 13:14:55 UTC
hash.c の hash_copy() でコピー元と先の Hash オブジェクトが ar_table か st_table かの組合せを網羅的にサポートするようにして、そのための処理をしていた rb_hash_replace() の処理をこちらに集約して rb_hash_replace() からは hash_copy() を呼ぶようにしています。
[f0d08d11dc] Peter Zhu 2023-06-29 13:21:11 UTC
df2b3a29987e9353596af76ed77f35d7366d654e で書き換えた hash_copy() で st_copy() を呼んでいたのを st_replace() に置き換えて Variable Width Allocation で slot に埋め込まれる場合に st_table の構造体がメモリリークしていたのを修正しています。
[bf2c18731d] Peter Zhu 2023-06-29 15:52:48 UTC
f0d08d11dcd404f3146c0d71d6ff743bbc6e7193 の Hash リテラルの評価でのメモリリークの修正のテストを追加しています。
[1272865a8e] Jemma Issroff 2023-06-29 21:00:40 UTC
ドキュメントのリンクで bugs.ruby-lang.org の wiki へのリンクを GitHub の wiki へのリンクに置き換えています。 https://github.com/ruby/ruby/pull/8002 [Misc #19679]
[d3ff43852b] Peter Zhu 2023-06-29 19:25:31 UTC
Hash#replace でも receiver が Variable Width Allocation で slot 内に st_table が埋め込めていない場合のメモリリークがあったのを修正しています。
[e8d629ed76] 卜部昌平 2023-06-29 01:02:23 UTC
GitHub Actions の workflow でサードパーティーのライブラリなどの依存物をインストールする処理を Ubuntu 環境用に apt-get を呼ぶ処理を .github/actions/setup/ubuntu/action.yml としてアクションとして切り出しています。
[34bf2d5085] 卜部昌平 2023-06-29 08:02:49 UTC
GitHub Actions の macOS 環境向けの homebrew での依存ライブラリインストールも専用の独自 action として切り出しています。
[c90b8493fb] 卜部昌平 2023-06-30 06:26:03 UTC
GitHub Actions の annocheck によるチェックの workflow で不要な if: による実行条件チェックを削除しています。
[7102324de3] 卜部昌平 2023-06-30 06:23:35 UTC
48e646fd96a834709fdfdddf08b1ac7dd188d50f で切り出した GitHub Actions の slack 通知のアクションの設定で YAML として不正になってた? ところがあったみたいで修正しています。
[37a893d129] 卜部昌平 2023-06-30 06:47:42 UTC
34bf2d508585799fc6fd272750a1c053f38e06cf で切り出した GitHub Actions で homebrew で依存ライブラリをインストールする action で brew コマンドに --quiet オプションを追加してメッセージ抑制しています。