ruby-trunk-changes 2022-07-23

今日は主に先日追加したオブジェクトの flags の RARRAY_LITERAL_FLAG を削除して参照数管理の方針を再度変更する最適化などがありました。

[92c7417d73] Nobuyoshi Nakada 2022-07-22 12:57:50 UTC

拡張ライブラリ objspace のインデントの修正と関数定義のスタイルの修正。

[c7fd015d83] Nobuyoshi Nakada 2022-07-22 12:59:58 UTC

f081e1feada4090d246cf3355f2fc8609055a811 で追加した .indent.pro というファイルの内容を変更しています。

[e763b1118b] Yusuke Endoh 2022-07-22 07:49:08 UTC

rb_ractor_t や struct rb_iseq_constant_body などの構造体で構造体の定義内で直接 enum を定義していたのを外に出して enum の定義だけで独立して書くようにしています。

[8f7e188822] Yusuke Endoh 2022-07-22 07:57:25 UTC

e763b1118ba1fada81d37da558f9d8e4da99f144 で構造体内から出した enum は rb_ の prefix がついてないものがあったので prefix を追加しています。なるほど。というか構造体内で定義しても別に名前空間ができるわけではないですよね。

[b3be030740] st0012 2022-07-21 10:15:39 UTC

8c6c3e30f3a86ba0b697a0d99efe8ff4585c4a42 で追加した 標準添付ライブラリ reline の dialog の色づけの irbrc での指定に使う項目名を改名しています。

[d77633a695] Takuya Noguchi 2022-07-22 11:18:00 UTC

bundler の bundle exec の mac ページのサンプルから rubyコマンドラインオプション -rrubygems を削っています。

[203de45bd3] git 2022-07-22 15:24:50 UTC

version.h の日付更新

[e199ae3edc] Peter Zhu 2022-07-22 15:04:43 UTC

5871ecf956711fcacad7c03f2aef95115ed25bc4 で追加した struct RBasic::fllags のビットフラグ RARRAY_LITERAL_FLAG をやっぱり削除して、リテラルで定義された ISeq 内に埋め込まれる Array オブジェクトだけでなく freeze されたものは全てバッファ共有の管理のための参照カウンタの管理をしないようにしています。このコミットログでようやくわかりましたが参照カウンタの処理を省略する最適化は fork 後の CoW によるメモリページの複製を抑制するためというのが主目的だったみたいです。 freeze されてたら参照数の管理が不要っていうのは本当にそれでいいんだっけ……。

[244bda7efd] Ashley Ellis Pierce 2022-07-22 17:11:52 UTC

rubygemsRubyGems.org へのログイン時の警告メッセージの出力に対応しています。多要素認証についての警告が渡されることがあるみたいです。

[98a8a496ba] Peter Zhu 2022-07-22 19:44:32 UTC

e199ae3edcead0271c6da3410eb02acd927739b7 の変更で ISeq のバイナリフォーマットからの load 時の処理で内部オブジェクトとして Array を作る条件も freeze されているかどうかという判定に変更してしまっていたので、元の条件に戻しています。