ruby-trunk-changes 2024-04-18

今日は主に YJIT の最適化や標準添付ライブラリ reline, irb の更新、ipaddr の IPAddr#cidr メソッド追加などがありました。

[2470565993] Matt Valentine-House 2024-04-17 11:51:27 UTC

gc.c の gc_rest() という関数で 1度しか参照されないローカル変数を廃止して直接代入元を参照するようにしています。なんか最適化されやすいとかあるのかな。

[209e2f277e] Peter Zhu 2024-04-16 18:06:36 UTC

gc.c の gc_is_moveable_obj() で即値である T_NIL 型オブジェクトというか VALUE の値を受付けないようにしています。

[8c8068c06f] Kevin Newton 2024-04-17 14:02:05 UTC

common.mk の prism の依存関係から f72436f8355dd19298b3f7d25d6c23cb75b3a02a で削除したヘッダのぶんを削除しています。

[15b659ca93] tomoya ishida 2024-04-17 16:12:14 UTC

標準添付ライブラリ reline の複数行編集まわりの処理のための分岐を Reline::LineEditor 内に取り込むリファクタリングhttps://github.com/ruby/reline/pull/653

[ee6e591b6a] Peter Zhu 2024-04-16 20:08:27 UTC

object_id の通し番号を管理する rb_objspace_t::next_object_id メンバーの型を VALUE から unsigned long long に変更して各所で Integer との変換をしていたのをやめています。 最低でもおよそ 10**17 もあるからオーバーフローしないやろ、とのこと。

[51485e63fc] Kevin Newton 2024-04-17 15:42:52 UTC

common.mk に lib/prism/reflection.rb のためのターゲットを追加しています。

[814dedcee2] Peter Zhu 2024-04-17 15:26:16 UTC

gc.c から既に未使用になってた sighandler_t マクロの定義を削除しています。

[98c84ef42c] Mike Dalessio 2024-04-15 17:17:54 UTC

bundler の Gemfile.lock に記述する platform から local platform というのは除くようにしています。bundle を実行する環境の arch が追加されちゃうのがなくなるのかな?

[ca764062b0] tomoya ishida 2024-04-17 18:36:25 UTC

標準添付ライブラリ irbIRB::Command::Base から一部のメソッドを別の IRB::Command::RubyArgsExtractor というモジュールに分離して利用する組み込みコマンド実装のクラスで include するようにリファクタリングしています。 https://github.com/ruby/irb/pull/922

[4cc58ea0b8] Takashi Kokubun 2024-04-17 19:00:03 UTC

YJIT のローカル変数を共有するためにコードブロック(YJIT の生成する命令のほうの Block のことだと思われる)を共通化するような最適化をしているようです。 39b13e581835d29f03da08c5df1a6f5d8d5a7957 はこのための準備だったのかな。 https://github.com/ruby/ruby/pull/10487

[3a4035a790] Matt Valentine-House 2024-04-17 12:30:39 UTC

gc.c に rb_objspace_t::rgengc.need_major_gc へのアクセスのショートカットをするマクロ gc_needs_major_flags というのを追加しています。

[8b81301536] Alan Wu 2024-04-17 21:48:38 UTC

YJIT の arm64 アーキテクチャ向けに生成するの機械語の細かな最適化を行なっているようです。

[0727d32b56] Matt Valentine-House 2024-04-17 21:05:52 UTC

gc.c の gc_enter() で RGenGC のデバッグ用ビルド時の gc_verify_internal_consistency() の呼び出しの条件に dont_gc フラグが立ってないことを追加しています。finalizer の処理中に一時的に GC を無効にしているために GC 無効状態でこの関数が呼ばれるパスがありえたとのこと。

[41456eb005] Kazuhiro NISHIYAMA 2024-04-17 23:09:55 UTC

NEWS のチケットの参照のための footnote の生成のための tool/update-NEWS-refs.rb で bugs.ruby-lang.org のチケットの種別の Misc にも対応するようにしています。

[9e0c6311e1] Kazuhiro NISHIYAMA 2024-04-17 23:10:34 UTC

NEWS のチケット参照のための footnote の追加と、チケット参照のマークアップを修正しています。

[ac62c7379d] Hiroshi SHIBATA 2024-04-18 00:41:32 UTC

.gitignore に d186eb36a4abbbefa026ea5630a1b59bb668ef0f および 51485e63fc72fd8bbecb3f5b3a794361efd94f28 で自動生成されるようになった lib/prism/reflection.rb を追加しています。

[07771c7657] Takashi Kokubun 2024-04-18 00:54:08 UTC

GitHub Actions の YJIT を有効にした Ubuntu 環境の workflow でテスト全体のタイムアウトを 60分から 90分に伸ばしています。

[6ac8f6a10e] Ben Fritsch 2020-04-03 14:48:15 UTC

標準添付ライブラリ ipaddr に x.x.x.x/y (IPv4 の場合)のような mask 範囲つきの表示を返す IPAddr#cidr メソッドを新規追加しています。

[88a88b56c7] Nobuyoshi Nakada 2024-04-15 05:24:19 UTC

標準添付ライブラリ optparse の gemspec ファイルの spec.files の指定に .document ファイル群を含めるようにしています。コミットログに [DOC] がついてますがこの変更自体はドキュメントの変更ではないですね。

[0f1ef19fcd] Nobuyoshi Nakada 2024-04-15 05:25:48 UTC

88a88b56c7094bca3db42f01d672622527dcad14 の optparse.gemspec の変更に余計なクオート記号が含まれてしまっていたのを修正。

[a3b7a7bc21] Kenichi Kamiya 2024-04-17 04:10:48 UTC

標準添付ライブラリ reline の未使用のローカル変数の削除。 https://github.com/ruby/reline/pull/684

[bc652d7568] David Rodriguez 2024-04-05 15:33:30 UTC

コミットログをみると bundler の source が rubygems.org 以外の時に user, password を URL に埋め込んだものを Gemfile.lock に書いてしまわないようにするための変更が主体のようです。しかし bundler の man ページの更新が混じってしまっているようです。

[a80f646616] Nobuyoshi Nakada 2024-04-10 17:10:20 UTC

bundled gems のテストのための tool/bundler/dev_gems.rb の turbo_tests の依存バージョンを 2.2.0 に更新しています。

[b3c59370ca] "dependabot[bot]" 2024-04-18 02:50:24 UTC

GitHub Actions の workflows で利用している github/codeql-action アクションのバージョンを更新しています。

[3a7846b1aa] Jean Boussier 2024-02-19 12:35:48 UTC

Encoding の変換や暗黙の変換のエラー時に ASCII-8BIT という名前だとよくわからないとのことで特別に "BINARY (ASCII-8BIT)" という表示をするようにしています。ASCII-8BIT を BINARY にしたいっていう要望根強いものがあるけどなぜそこまで……という気はしますが例外メッセージの表示だけ変更ということで手を打ったようです。 [ruby-core:107514] [Feature #18576]

[2e978c2cb3] Lorenzo Zabot 2024-04-18 10:33:19 UTC

標準添付ライブラリ irb のプロンプト表示で使える指示子についての rdoc 用コメントの %NNi と %NNn の説明をより詳細にしています。 https://github.com/ruby/irb/pull/926

[57a262e325] tomoya ishida 2024-04-18 11:48:10 UTC

irb の出力の色付けのテストで TAB (\t)が空白 2つ? に escape されるケースのための対応を追加しています。 https://github.com/ruby/irb/pull/924