ruby-trunk-changes 2023-11-04

今日も主に prism の更新と Object Shapes まわりの修正、また bundled gems の racc と net-imap のバージョン更新がありました。

[ec86b2eb39] Kevin Newton 2023-11-03 12:42:48 UTC

iseq.c の prism 用の関数 iseqw_s_compile_prism() を prism の更新に追随させています。

[1321df773b] Peter Zhu 2023-11-03 12:53:50 UTC

インスタンス変数セット時に既に同じインスタンス変数が存在していて Object Shape の管理が too complex になっている時に struct gen_ivtbl のサイズを Object Shapes の実装の rb_shape_t::capasity にあわせて resize するようにしているみたいです。 昨日の 4c3cc25ea2bc176aa699d14f155b566655936a38 の変更と同じような内容みたいですが昨日のコメントが間違ってたかも。
generic_ivar_set() の実装をみてると最初に shape->type == SHAPE_OBJ_TOO_COMPLEX でチェックして早期 return をしていて、その後 shape の再代入しない状態でまた shape->type == SHAPE_OBJ_TOO_COMPLEX のチェックをしている行があるのですが、これ next_shape の間違いだったりしないかなぁ?

[e345bf31f8] Jun Aruga 2023-11-03 13:20:14 UTC

Travis-CI の s390x-linux でのビルド時に利用する GCC のバージョンを GCC 11 の最新版を指定するようにしています。

[81882ca42f] Peter Zhu 2023-11-03 15:00:58 UTC

1321df773b6316d2e88dfcada7844e00762d5a94 の続き? で generic_ivar_set() で RGenGC 用の Write Barrier のために RB_OBJ_WRITTEN() を使ってたところを RB_OBJ_WRITE() を利用するようにリファクタリングしています。

[fff7a3c824] git 2023-11-03 15:19:30 UTC

NEWS の prism のバージョンを更新。

[d4045b0660] Jun Aruga 2023-11-03 14:21:25 UTC

Travis-CI の設定に ruby -v と gem env の出力を残すようにするステップを追加しています。

[9d308ad495] Jun Aruga 2023-11-03 15:02:57 UTC

Travis-CI のコメントに rubygems の issue へのリンクを追加しています。 https://github.com/rubygems/rubygems/issues/7132

[bc4d1c09fa] git 2023-11-03 18:00:13 UTC

NEWS の prism のバージョンを更新しています。

[38bdb9d0da] Alan Wu 2023-11-03 18:06:35 UTC

YJIT の Rust 実装の未使用のコード削除。

[6e38076b16] Maxime Chevalier-Boisvert 2023-11-03 21:07:13 UTC

YJIT のメソッドを JIT コンパイルするかどうかの判定のための呼び出し回数のしきい値をメモリ上の ISeq の数をもとにしてアプリケーションの規模を判定してそれによって呼び出し回数のしきい値も自動的に引き上げるということをしているようです。 https://github.com/ruby/ruby/pull/8839

[6b2a3c84a5] Nobuyoshi Nakada 2023-11-04 02:29:42 UTC

tool/update-bundled_gems.rb で gems/bundled_gems の自動更新をする時に検出したバージョンが現在の記述より古いバージョンだった時には更新しないようにしているようです。

[9f95b6eb5d] Takashi Kokubun 2023-11-04 05:18:15 UTC

RJIT 利用時にたまに失敗するテストを skip するようにしています。

[9106ac4525] git 2023-11-04 07:01:03 UTC

gems/bundled_gems と NEWS の bundled gems の racc と net-imap のバージョンを更新しています。

[b30783e02e] Nobuyoshi Nakada 2023-11-04 04:44:03 UTC

拡張ライブラリ stringio の gemspec ファイルに JRuby 向けの spec.require_paths を lib/java に設定して .jar ファイルの起き場所を lib/java/ の下に置くようにしています。

[79d0879536] Nobuyoshi Nakada 2023-11-04 08:43:39 UTC

拡張ライブラリ stringio のバージョンを記述するのを定数マクロから static const な変数にして gemspec ファイルでの切り出し処理も追随して変更しています。ふーむ、なぜだろう。[追記]JRuby 版のコードに書かれたバージョンの切り出しと処理を共通にするためだそうです。[/追記]