今日は主に YJIT の最適化やビルドプロセスまわりの修正、AST の node の構造体のリファクタリングなどがありました。
[fd22d5debb] Thomas Hurst 2023-10-05 17:23:51 UTC
YJIT 用の Makefile の yjit/yjit.mk で libyjit.o の作成に ld と objcopy を利用する環境に BSD 系 OS を追加しています。 https://github.com/ruby/ruby/pull/8591
[cf1223348a] Nobuyoshi Nakada 2023-10-05 18:39:33 UTC
fd22d5debba8a2ed97de8f015aea1f120e5dc80d の再修正。 makefile の ifneq の条件のかっこの対応を修正しています。
[a5cc6341c0] Nobuyoshi Nakada 2023-10-05 12:55:24 UTC
AST 用の node の未使用になっていた型の NODE_VALUES を削除しています。
[41a6e4bdf9] Alan Wu 2023-09-30 02:29:24 UTC
YJIT で VM 命令の leave で戻り値を VM スタックに乗せてたのをやめてレジスタを利用できるように最適化しているようです。
[07a7c4bdaf] Alan Wu 2023-10-05 20:40:27 UTC
YJIT の Rust 実装の冗長なコードを削除。
[7d1abd5d31] Alan Wu 2023-10-05 21:09:18 UTC
07a7c4bdaf27b80a8d791032986539d5188804c6 での YJIT の Rust 実装の関数削除に対応して yjit/src/cruby_bindings.inc.rs からも宣言を削除しています。
[13bde94a9f] Maxime Chevalier-Boisvert 2023-10-05 21:17:33 UTC
YJIT の Rust 実装の Context 構造体の local_types というメンバーの型を u32 に変更してサイズを削減しています。 https://github.com/ruby/ruby/pull/8597
[8cb906d706] Alan Wu 2023-10-05 21:31:54 UTC
fd22d5debba8a2ed97de8f015aea1f120e5dc80d の yjit/yjit.mk の変更の再修正で ifneq による分岐の条件を反転しています。
[f6a2af255b] yui-knk 2023-10-05 08:49:41 UTC
AST の node 用の個別の構造体の不要なメンバーの削除。
[58fc45325f] yui-knk 2023-10-05 11:31:34 UTC
AST の node 用の個別の構造体の不要なメンバーの削除。
[6a0c13c1d6] Manu 2023-10-04 12:22:24 UTC
bundler の man ページの更新。
[5c779dc45d] yui-knk 2023-10-05 23:27:42 UTC
AST の node 用の個別の構造体の不要なメンバーの削除。
[0202ca7cfc] Nobuyoshi Nakada 2023-10-06 04:48:23 UTC
test/ruby/test_pack.rb 内の rbconfig.rb の require をファイル先頭に移動しています。
[b459bca0a6] Nobuyoshi Nakada 2023-10-06 04:53:03 UTC
Array#pack のテストで指示子の j/J のテストでポインタのサイズを RbConfig::SIZEOF['uintptr_t'] を使って判定するように変更しています。
[232e401b0f] Nobuyoshi Nakada 2023-10-06 04:53:16 UTC
Array#pack、String#unpack の実装で指示子のリストの定義で endstr というのが natstr と変化ない時はマクロで同一の変数を使いまわすようにしています。
[95ced6d8d2] Nobuyoshi Nakada 2023-10-06 07:02:43 UTC
拡張ライブラリ openssl のテストで assert_match で正規表現でマッチさせていたのを assert_include で String#include? での判定に変更しています。
[723318f5d7] Nobuyoshi Nakada 2023-10-06 08:38:56 UTC
95ced6d8d2b6639f3e29fe3d2de6e326d0a62718 と同じく拡張ライブラリ openssl のテストで assert_match のかわりに assert_include を使うように変更しています。