今日は主に ISeq へのコンパイル時の最適化の不具合で異常終了することがある不具合の修正や標準添付ライブラリ singleton の複数 Ractor の対応する更新、IO::Buffer の不具合修正などがありました。
[2a58092360] Peter Zhu 2024-09-30 14:03:01 UTC
gc/default.c の static 関数 objspace_available_slots() の前方 prototype 宣言が不要になってたので削除しています。
[d592ddd5e6] Luke Gruber 2024-09-29 16:39:23 UTC
ISeq へのコンパイル時の条件分岐の条件部にリテラルが書かれていてコンパイル時に不要な条件を除外できる時にその条件に defined? が含まれている時に不要な rescue 用の catch table が生成されてしまい異常終了することがある不具合を修正しています。 [ruby-core:117968] [Bug #20501]
[292c9793ab] Nobuyoshi Nakada 2024-09-30 17:55:16 UTC
prism でテストをスキップするための test/.excludes-parsey/ のファイルを削除しています。
[30507a4aed] Peter Zhu 2024-09-30 17:37:28 UTC
GC のイベントフックの RUBY_INTERNAL_EVENT_FREEOBJ のコールバック呼び出しの責務を本体の rb_gc_obj_free() から個別の GC 実装の関数 gc_sweep_page 内の slot 毎に呼ぶようにしています。うーん一貫した動作のためにはできるだけ本体で呼んだほうがよさそうだけどなぜだろう。
[af63b4f8b7] whtsht 2024-09-30 23:00:54 UTC
YJIT の Rust 実装のリファクタリング。 https://github.com/ruby/ruby/pull/11725
[522614a377] "dependabot[bot]" 2024-10-01 02:58:56 UTC
GitHub Actions の workflows で利用している github/codeql-action アクションのバージョンを更新しています。
[4822220e6b] Hiroshi SHIBATA 2024-10-01 07:52:34 UTC
GitHub Actions のいろんなコンパイルオプションなどを試す compilers workflow で rubyspec にテスト対象のテスト指定できるようにして configure の --with-gmp オプション利用時のテストで rubyspec の spec/ruby/core/integer のみ実行させるようにしています。
[76111af632] Hiroshi SHIBATA 2024-10-01 08:08:27 UTC
4822220e6bab0991a9acc7fc7731d08b67fde8ad の追加で rubyspec のテストディレクトリ指定を絶対パスで指定するようにしています。
[136b30b414] rm155 2021-07-30 19:45:34 UTC
標準添付ライブラリ singleton の特異メソッドの実装を Module に切り出して include するようにしています。複数 Ractor 対応のためみたいです。
[a6e96df573] rm155 2021-07-31 20:17:55 UTC
標準添付ライブラリ singleton の 136b30b414b3fcaddf0505d5a72fed8b08b2da3c の変更で導入した Module 名の変更。
[d0c1eef511] rm155 2021-08-18 20:51:13 UTC
標準添付ライブラリ singleton の 136b30b414b3fcaddf0505d5a72fed8b08b2da3c で複数 Ractor のために導入したモジュールの定義を Ractor クラスが定義されている時だけ定義するようにしています。
[2f53c9fc62] rm155 2021-09-17 02:42:45 UTC
標準添付ライブラリ singleton で magic commnet の frozen_string_literal を true に変更して VERSION 定数を明示的に freeze していたのをやめています。
[0f00544984] rm155 2021-11-08 18:59:38 UTC
標準添付ライブラリ singleton で古いバージョンの対応のため Module#undef_method の呼び出しに Object#send メソッドを利用するようにしています。
[d109c7c620] Hiroshi SHIBATA 2024-10-01 09:32:40 UTC
rubyspec の実行時のトップレベルの定数追加を検出するのを無視する設定で 136b30b414b3fcaddf0505d5a72fed8b08b2da3c で標準添付ライブラリ singleton が定義する定数の対応を追加しています。
[3ebc85e240] Hiroshi SHIBATA 2024-10-01 09:41:38 UTC
d109c7c620a9f426b9aa60f9ff3a227fd9794933 の続きというかやりなおしで rubyspec で無視させる定数の指定を spec/ruby/default.mspec から spec/ruby/.mspec.constants への追記に変更しています。
[35e124832e] Nobuyoshi Nakada 2024-09-30 13:49:09 UTC
IO::Buffer.for のブロック内で生成された IO::Buffer に対して IO::Buffer#transfer を使うと freeze されている文字列を IO::Buffer 経由で変更できてしまうという不具合を修正しています。そもそも IO::Buffer#transfer ってなんだっけ? 新しい IO::Buffer を作って中身のバッファの文字列をそちらに移動してしまうというものかな。 [ruby-core:119257] [Bug #20755]