ruby-trunk-changes 2023-03-07

今日は主に再実装に伴なって MJIT を RJIT と改名する変更や Thread::Mutex の Fiber で使った時の不具合修正などがありました。

[704dd25812] Jean Boussier 2023-02-06 08:29:39 UTC

Thread の終了時に RB_INTERNAL_THREAD_HOOK() でフックを起動するのを thread_start_func_1() の末尾に置いていたのを thread_start_func_2() から呼ばれる thread_sched_to_dead() という関数内で Thread の終了を指示するタイミングに移動しています。

[fd0a5659ca] Nobuyoshi Nakada 2023-03-06 06:46:28 UTC

標準添付ライブラリ net/http の rdoc 用コメントの非 ASCII 文字を消す 62e2b61607c04ff0d2543f0515b2171a24e66b4e を一旦 revert しています。非ASCII 文字があってもビルドできるようにする変更のテストのためっぽいです。

[c8c3431b0a] Nobuyoshi Nakada 2023-03-06 07:03:15 UTC

標準添付ライブラリ net/http の gemspec ファイルでバージョン番号を取得する処理で File.foreach に mode 引数を追加して非 ASCII 文字があっても呼べるように対応しています。

[755c379d87] Nobuyoshi Nakada 2023-03-06 13:22:43 UTC

標準添付ライブラリ net/http の gemspec ファイルで spec.files から除外するファイルのパターンに .git ディレクトリを追加しています。

[a1758fbd7f] Peter Zhu 2023-03-03 21:23:43 UTC

objspace_xmalloc0() および objspace_xrealloc() で GC 中にメモリ確保が呼ばれたら警告を出力する処理が両方に書かれてたのを check_malloc_not_in_gc() という関数に切り出して共通化し、また RGENGC_CHECK_MODE か RUBY_DEBUG マクロが定義されていた時だけ rb_bug() で異常終了するようにしていたのを常に異常終了するように変更しています。

[b116b2bcf6] Takashi Kokubun 2023-03-06 21:20:53 UTC

mjit_c.rb の警告除去のための明示的なキャストを追加。

[6df8a53055] Takashi Kokubun 2023-03-06 21:36:15 UTC

コマンドラインオプションの --yjit-stats や --mjit-stats の対応で MJIT_STATS と YJIT_STATS 両方が真の時の対応を追加しています。

[030f39822a] Hiroshi SHIBATA 2023-03-07 01:34:29 UTC

fd0a5659cadb49f1640b20896cd750decdbbd701 でテストのために revert された net/http の rdoc 用コメントの非 ASCII 文字の削除を再度適用しています。

[56ebeba436] Stan Lo 2023-03-07 02:47:09 UTC

標準添付ライブラリ irb のバージョンを 1.6.3 に更新しています。

[c077df9b28] git 2023-03-07 02:48:16 UTC

NEWS の default gems のバージョンリストに irb を追加しています。

[09b4236f17] Takashi Kokubun 2023-03-07 05:19:19 UTC

GitHub Actions の MJIT 用 workflow で ruby/action-slack アクションによる Slack 通知を追加しています。

[31f4b2d86b] Takashi Kokubun 2023-03-07 05:41:48 UTC

昨日の MJIT の再実装で不要になった MJIT 用の precompiled header の common.mk などのビルドプロセスでの対応を削除しています。 https://github.com/ruby/ruby/pull/7458

[233ddfac54] Takashi Kokubun 2023-03-07 05:34:31 UTC

同じく MJIT の再実装により不要になった MJIT_FUNC_EXPORTED マクロを使った関数の export の指定を削除しています。

[50a709fb9e] Takashi Kokubun 2023-03-07 05:56:40 UTC

233ddfac541749a0da80ea27913dc1ef4ea700bb で export をやめた 一部の関数は拡張ライブラリで必要だったため RUBY_FUNC_EXPORTED による export の指定を追加しています。

[f68580890f] Takashi Kokubun 2023-03-07 06:14:33 UTC

MJIT の再実装により不要になった mjit_build_dir.so という拡張ライブラリのビルドをやめるようにしています。

[7fb36a0054] Takashi Kokubun 2023-03-07 06:02:03 UTC

同じく MJIT の再実装により不要になった MJIT_STATIC というマクロ定義を削除しています。

[290e26c729] Takashi Kokubun 2023-03-07 06:03:39 UTC

同じく MJIT の再実装で不要になった MJIT_HEADER というマクロ定義を削除しています。

[2702d615f5] Takashi Kokubun 2023-03-07 06:31:29 UTC

同じく MJIT の再実装で不要になった mjit_config.h の生成プロセスを削除しています。

[66c4dc1592] Takashi Kokubun 2023-03-07 06:36:57 UTC

benchmark/ から MJIT 用のベンチマークスクリプト群を削除しています。

[7abe47b85a] Samuel Williams 2023-03-07 06:38:58 UTC

non-blocking Fiber のテスト用の Scheduler 実装の修正。テスト用とはいえ Scheduler を不具合なく実装するのも大変そう。 https://github.com/ruby/ruby/pull/7456

[072fc7671a] Takashi Kokubun 2023-03-07 06:43:26 UTC

tool/mjit_archflag.sh というツールはもう不要になったとのことで削除しています。

[b2130d5f5d] Takashi Kokubun 2023-03-07 06:53:38 UTC

tool/mjit_tabs.rb というツールも削除しています。

[fd4a397e88] git 2023-03-07 07:01:48 UTC

gems/bundled_gems と NEWS の bundled gems の rbs のバージョンを 3.0.3 に更新しています。

[011c08b643] Takashi Kokubun 2023-03-07 07:04:27 UTC

tool/ruby_vm/views/mjit_sp_inc.inc.erb というテンプレートファイルも MJIT の再実装により不要になったようで削除しています。

[2c4b2053ca] Samuel Williams 2023-03-07 07:23:00 UTC

Thread::Mutex のロック解放の non-blocking Fiber 対応の実装部分に race condition を起こす可能性のある不具合があったようで修正しています。 https://github.com/ruby/ruby/pull/7460 [ruby-core:112706] [Bug #19480]

[854546fcc4] Takashi Kokubun 2023-03-07 07:24:05 UTC

doc/yjit/yjit.md の MJIT についての記述が古くなったものは削除しています。

[eaccdc1941] Takashi Kokubun 2023-03-07 06:35:38 UTC

ファイル名の mjit を含むものは rjit に改名しています。

[2e875549a9] Takashi Kokubun 2023-03-07 07:15:30 UTC

マクロ、モジュール名その他諸々の MJIT -> RJIT に改名しています。

[23ec248e48] Takashi Kokubun 2023-03-07 07:17:25 UTC

関数名、変数名そのた諸々に含まれる mjit を rjit に改名しています。

[589c2b1fb2] Takashi Kokubun 2023-03-07 07:43:26 UTC

rjit_c.rb を再生成しています。

[bd0f2c7958] David Rodríguez 2023-03-02 13:07:09 UTC

rubygemsGitHub などから clone してきたリポジトリのデフォルトブランチ名を master と仮定せず単に HEAD で参照するようにしています。

[5d790264ea] David Rodríguez 2023-03-02 13:30:33 UTC

bd0f2c79586fc8d59ab8d8368ee8c7fd80749b75 の続きで rubygems のテストで git のブランチ名として master を仮定していた部分を任意のブランチ名で動くようにしています。

[72591eb73f] David Rodríguez 2023-03-02 18:11:19 UTC

bundler の require "bundler/setup" でエラー時に bundle install を促すメッセージに必要に応じて --gemfile オプションの指定も表示するようにしています。

[93f0749a64] David Rodríguez 2023-03-03 11:15:27 UTC

bundler の bundle gem で生成するプロジェクトの gemspec ファイルの spec.files から除外するファイルのパターンを少し修正しています。一部のディレクトリは明示的に "/" をつけてディレクトリであることを明記するようにしています。

[dc33d32f12] Josef Šimánek 2023-02-28 04:38:47 UTC

rubygems の Gem.state_home メソッドで結果をキャッシュするインスタンス変数名が Gem.data_home のものと同じになってしまっていた不具合を修正しています。