今日は昨日リトライして入った Object Shapes の再度の revert とそれに関連した修正と新規追加された Data の実装の修正、bundler/rubygems の platform 判定の強化などがありました。
[31461c7e0e] Jimmy Miller 2022-09-30 15:14:55 UTC
YJIT の Rust 実装部分に clippy という Rust の linter で指摘された修正を適用しているようです。 https://github.com/ruby/ruby/pull/6476
[850cfb021e] Jemma Issroff 2022-09-30 18:04:08 UTC
68bc9e2e97d12f80df0d113e284864e225f771c2 の Object Shapes の変更の vm_getivar() 内の VM_ASSERT() の条件に rb_ractor_shareable_p() に渡す前にオブジェクトが T_OBJECT 型であることを確認するようにしています。
[8252ea2140] David Rodríguez 2022-09-28 10:12:13 UTC
bundler の platform 判定に Linux の eabi という suffix がついてる場合の対応を追加しています。
[f04d249e83] David Rodríguez 2022-09-29 18:31:23 UTC
さらに bundler の platform 判定で Linux の eabihf という suffix がついているものの対応を追加。
[a44040c9e4] David Rodríguez 2022-09-29 19:47:53 UTC
rubygems の Gem::Platform#=== と Gem::Platform#normalized_linux_version のコメントに bundler にも関連メソッドがあるので消すためにはそっちも対処が必要と注意書きを追加しています。
[0ab0229c11] eileencodes 2022-09-30 19:37:18 UTC
Object Shapes の対応で freeze したオブジェクトの Object#inspect の表示が間違っていたのを修正しています。
[9a6803c90b] Aaron Patterson 2022-09-30 23:01:50 UTC
d594a5a8bd0756f65c078fcf5ce0098250cba141 の Object Shapes の導入を再度 revert しています。 [ruby-core:108522] [Feature #18776]
[1143fe340a] John Hawthorn 2022-09-30 23:29:10 UTC
9a6803c90b817f70389cae10d60b50ad752da48f の Object Shape の revert の際に YJIT の Rust 実装部分で変数名を誤って戻してしまっていたところがあったので修正しています。
[70538beaa9] John Hawthorn 2022-10-01 00:08:44 UTC
同じく 9a6803c90b817f70389cae10d60b50ad752da48f の Object Shapes の revert の影響で YJIT の Rust 実装が壊れたところを修正しているそうです。
[c767618d4c] Nobuyoshi Nakada 2022-10-01 06:36:01 UTC
ad651925e365ca18645f05b5e9b2eca9cd5721bc の Data クラス追加で Data.members というメソッドを定義していたところはコメントアウトしています。 rdoc のドキュメント化させるためだけに rb_define_method() は書いておくけど実際のメソッドは Data.define で子クラスを作った時にそのクラスに定義しているので Data 自体に Data.members を定義する必要はないため。
[27adf5321e] Nobuyoshi Nakada 2022-10-01 06:58:47 UTC
vm_insnhelper.c に VM_ASSERT() などで条件つきで rb_ractor_shareable_p() を呼ぶところがいくつかあるので ractor_object_incidental_shareable_p() や ractor_incidental_shareable_p() といったマクロに切り出すリファクタリング。
[15d3b7fe6d] Nobuyoshi Nakada 2022-10-01 07:14:59 UTC
Data#initialize の実装 rb_data_initialize_m() で引数が 0個だった時に argv[0] にアクセスしてしまうようになっていたのでチェックと早期 return を追加しています。
[56f2fd3bc9] Nobuyoshi Nakada 2022-10-01 07:18:03 UTC
Struct および Data の initialize メソッドの実装で引数チェックして ArgumentError 例外を発生させる時に rb_error_arity() という専用の関数があったのでそれを利用るようにリファクタリングしています。
[88c12a2937] Nobuyoshi Nakada 2022-10-01 09:18:58 UTC
bootstraptest/runner.rb でテストのプログレス表示の "." を折り返した時にインデントをつけるようにしています。