ruby-trunk-changes 2022-08-21

今日は主に MJIT の実装を fork(2) を利用する変更や bundler の不具合修正などがありました。

[dc8d70e461] Takashi Kokubun 2022-08-20 23:33:03 UTC

MJIT のコンパイラを起動する処理を別プロセスに分けるように変更しているようです。チケットをみると MJIT 実装を ruby で書くようにするために以前は native thread を使っていたのを Ractor を使うようになっていました。しかし multi Ractor モードにするとパフォーマンスへの影響があるとのことでシンプルに子プロセスを fork してそこで MJIT の処理をするようにしているようです。このため fork(2) が使えない Windows 環境では MJIT のサポートを止めるみたいです。 https://github.com/ruby/ruby/pull/6264 [ruby-core:109585] [Misc #18968]

[e85db84959] git 2022-08-20 23:33:24 UTC

version.h の日付更新

[f6d4d73abd] Nobuyoshi Nakada 2022-08-21 05:04:52 UTC

dc8d70e4615cdf12378322fbcd4396486270ddbe の MJIT の実装の変更で fork(2) を直接呼ばずに rb_fork() を呼ぶようにしています。実体は fork() を呼んでるだけですがコンパイラ警告を抑制するための pragma つきで定義されています。

[b87ddd7538] David Rodríguez 2022-08-19 18:35:26 UTC

bundler の bundle platform で Gemfile.lock に ruby_version の指定がない時にエラーになってたのを修正しています。

[560941e711] David Rodríguez 2022-08-19 12:03:43 UTC

bundler の bundle package で no_install の設定の影響を受けないように修正しています。

[0cc989696e] Nobuyoshi Nakada 2021-06-30 21:38:33 UTC

Kernel#Float のテストに 0x ではじまる16進数の記法の小数点を含む数値を渡された時に ArgumentError になるケースの assertion を追加しています。