今日は主に標準添付ライブラリ syntax_suggest の更新や YJIT の最適化などがありました。
[929d55c3c7] Alan Wu 2023-04-04 20:12:01 UTC
9e678cdbd054f78576a8f21b3f97cccc395ade22 の YJIT の Rust 実装の警告抑制のための unsafe ブロックの削除を revert しています。
[8f734cf93e] Alan Wu 2023-04-04 20:25:37 UTC
929d55c3c7d312a21e5691f9c6793450e2c617d1 に追随して yjit/src/core.rs で unsafe についての警告を有効にする設定を追加しています。
[3e1e09b2b7] Alan Wu 2023-04-04 20:28:35 UTC
make jit-smoke-test でビルドする Rust のバージョンを 1.58.0 に明示的に指定するように cargo のオプションに追加しています。
[615a1bc470] Takashi Kokubun 2023-04-05 14:32:04 UTC
YJIT の統計情報としてコード領域に利用したメモリ領域の合計を保持するようにしているようです。 https://github.com/ruby/ruby/pull/7658
[4b100f75d2] Daniel DeLorme 2023-04-05 13:16:26 UTC
Kernel#abort の rdoc 用コメントに例外が発生して(捕捉されなければ)バックトレースが表示されることを追記しています。 [ruby-core:113112] [Bug #19578]
[f07c756494] Nobuyoshi Nakada 2023-04-03 05:10:16 UTC
tool/lib/core_assertions.rb の assert_linear_performance のタイムアウト値の計算方法を変更しています。
[f9eb2515a3] Nobuyoshi Nakada 2023-04-03 05:22:24 UTC
tool/lib/core_assertions.rb の assert_linear_performance の使用時間測定の処理を Proc オブジェクトとして切り出しています。
[533423ebe4] Nobuyoshi Nakada 2023-04-03 05:27:36 UTC
tool/lib/core_assertions.rb の assert_linear_performance で処理時間の測定を可能なら Process::CLOCK_THREAD_CPUTIME_ID や Process::CLOCK_PROCESS_CPUTIME_ID など実際の CPU 利用時間で測定するようにして環境の影響を受けにくいようにしています。
[52e571fa72] Mike Dalessio 2023-04-05 03:55:43 UTC
ruby_xfree() をプロセス終了時の vm_destruct() の実行後に呼ぶと異常終了してしまうので対策として VM がもう破棄されていたら ruby_mimfree() を使うように fallback を追加しています。 [ruby-core:113129] [Bug #19580]
[1587494b0b] Takashi Kokubun 2023-04-05 20:19:31 UTC
YJIT に Integer の Integer#*、 Integer#/、Integer#[] などのメソッドの Fixnum 版の時の実装を直接生成するようにする最適化を追加しています。 https://github.com/ruby/ruby/pull/7665
[7b27ad9ad3] Adam Hess 2023-04-05 23:11:04 UTC
doc/contributing/glossary.md に BIN という語彙について追記しています。 Basic Instruction Name とのことで VM 命令の名前のことらしい。 https://github.com/ruby/ruby/pull/7667
[5d718f109d] "dependabot[bot]" 2023-04-06 02:59:52 UTC
GitHub Actions の workflow で使っている github/codeql-action アクションのバージョンを更新しています。
[192a3a6bfb] David Rodríguez 2023-03-23 11:31:07 UTC
a757e21bc0ab1a9595ddad38e92f3941caf84d98 の rubygems のリファクタリングを revert しています。
[c257380965] David Rodríguez 2023-03-23 11:31:15 UTC
ebebc90ec297c945cdf94c90f8db85dd7ddbcb7b の bundler のリファクタリングを revert しています。
[f3d69bed62] David Rodríguez 2023-03-16 16:45:54 UTC
bundler で不正な Gemfile.lock でハングアップしてしまう不具合の修正のようです。
[69460791cc] Vít Ondruch 2019-09-11 13:33:04 UTC
rubygems の Gem::Installer#write_default_spec の rdoc 用コメント? の説明を追記しています。
[061f5f4374] Marc-Andre Lafortune 2023-04-05 21:12:43 UTC
Data クラスのテストにインスタンス生成に通常引数を渡した時のテストケースを追加しています。
[588dd44d41] Nobuyoshi Nakada 2023-03-08 13:52:42 UTC
bundler の bundle gem で生成する .rspec ファイルのテンプレートから --color オプションを削除しています。がコミットログをみるとこれ syntax_suggest の同期処理で入ったコミットみたいなので誤って入ったんじゃないかな?
[33cfd262fc] schneems 2023-03-07 23:49:11 UTC
標準添付ライブラリ syntax_suggest の SyntaxSuggest.record_dir というメソッドでディレクトリを作成する時に latest という symbolic link も作るようですがこれを上書きする時に削除してから FileUtils.ln_sf を呼ぶようにしています。
[e5236471c3] schneems 2023-03-08 14:51:00 UTC
標準添付ライブラリ syntax_suggest で空白のみの行を削除しないようにしているようです。
[5487ee4fe8] schneems 2023-03-08 23:44:58 UTC
標準添付ライブラリ syntax_suggest の不具合修正のようです。コミットログにいろいろ書かれていますがよくわからず。
[2acbcec056] schneems 2023-03-09 00:30:33 UTC
標準添付ライブラリ syntax_suggest のリファクタリングとコメントの追加。
[63ea6b0cf2] schneems 2023-03-09 20:13:46 UTC
e5236471c3ce194199a6ceb70012eb2ca243407e の標準添付ライブラリ syntax_suggest の修正を revert しているようです。 5487ee4fe8b1311d42367969860468e48667cc87 の修正によりこっちは不要になったということみたいです。
[d511e6960f] Yusuke Endoh 2023-03-16 23:52:27 UTC
標準添付ライブラリ syntax_suggest で提案コメントの最後に改行がなかったら追加しておくようにしています。
[d2eef4b786] schneems 2023-03-17 01:45:18 UTC
syntax_suggest の upstream の bin/ 配下のファイル追加がこっちに同期されてしまったみたいで bin/rake と bin/rspec が追加されています。
[8d72d6159c] schneems 2023-03-17 00:44:02 UTC
標準添付ライブラリ syntax_suggest のバージョンを 1.0.3 に更新しています。
[7ab640d9dd] schneems 2023-03-17 21:07:27 UTC
標準添付ライブラリ syntax_suggest のバージョンを 1.0.4 に更新しています。ついでにテストも追加されていますがこれは関係あるのかな。
[6ca1f3eec4] Hiroshi SHIBATA 2023-04-06 07:15:41 UTC
8d72d6159c75f2ed40510d7721c6e5fbdb1976af で追加された syntax_suggest のテストの修正。
[c78476cee8] git 2023-04-06 07:18:54 UTC
NEWS の default gems のバージョン更新リストに syntax_suggest を追加しています。
[70371aa071] Hiroshi SHIBATA 2023-04-06 07:25:05 UTC
588dd44d418d56dce3f2a388c4021d11f9aa4324 で syntax_suggest の同期で意図せず lib/bundler/templates/newgem/rspec.tt が更新されてしまっていたのを revert しています。
[f269fae07e] Hiroshi SHIBATA 2023-04-06 07:36:09 UTC
d2eef4b7867578df302cfa9d7c97eebbef8d9ee4 で syntax_suggest の同期で意図せず bin/rake と bin/rspec が追加されてしまったのを revert しています。
[b0297feb1f] Matt Valentine-House 2023-02-17 11:07:24 UTC
newobj_of_cr() を newobj_of() と改名して元の newobj_of() は削除しています。cr って何だっけ? と思ったけど Ractor 毎の arena の指定のための rb_ractor_t を受け取るかどうかの違いで、常に渡すようにしているようです。
[d91a82850a] Matt Valentine-House 2023-02-17 13:32:51 UTC
rb_vm_t のメンバー shape_list、root_shape、next_shape_id を削除して rb_shape_tree_t という構造体に切り出し、これをグローバル変数で保持しておくようにしているようです。この変数 static を付けなくていいのかな。と思ったけど extern している? YJIT から使うためかなぁ。ううむ、これはいいのだろうか。
[879cda98a4] Matt Valentine-House 2023-02-17 14:14:53 UTC
vm_core.h で #include "shape.h" していたのをやめて、依存していたマクロ定義などを vm_core.h に移動しています。他の必要なヘッダに #include "shape.h" を追加しています。
[026321c5b9] Matt Valentine-House 2023-02-17 15:51:16 UTC
RVARGC_NEWOBJ_OF() とか RB_RVARGC_EC_NEWOBJ_OF() といった NEWOBJ_OF() マクロのバリエーションを廃止して、NEWOBJ_OF() マクロの引数を追加しています。このへんのマクロは公開 API になってないかなと思ったけど internal/gc.h での定義なので非公開みたいですね。 [ruby-core:112671] [Feature #19474]
[2a34bcaa10] Matt Valentine-House 2023-03-02 11:51:53 UTC
common.mk や拡張ライブラリの depend ファイルの依存関係を再生成しています。また YJIT の C Binding も再生成しています。