ruby-trunk-changes 2023-07-26

今日は主に irb の組み込みコマンドの出力でページャーコマンドを利用する変更や YJIT の末尾再帰最適化対応、Process.warmup で全文字列オブジェクトの codepage 計算する処理追加などがありました。

[e1104017e3] Takashi Kokubun 2023-07-25 17:20:04 UTC

YJIT 有効化時に VM 命令の末尾再帰最適化を有効にした時の stack consistency error の修正、というコミットログで pull request のほうをみると vm_exec.h の JIT_EXEC() マクロの修正もあるのですがこのコミットにはテストの追加だけになってしまっているようですね。と、思ったら cef60e93e6db859b47c818f745be809feb04ae48 の YJIT のメソッド呼び出しの最適化の時にこの修正も入っていたみたいです。 https://github.com/ruby/ruby/pull/8107 [ruby-core:114258] [Bug #19781]

[d8cee55073] Stan Lo 2023-07-25 18:33:18 UTC

irb の組み込みコマンド show_cmds で端末上で実行時には結果を環境変数 PAGER などで指定できるページャーコマンド経由で表示するようにしています。

[14691d39e9] Alan Wu 2023-07-25 22:46:00 UTC

b106cf2eef574535fa2a069493235b00d679d20aGitHub Actions の専用アクションで .downloaded-cache ディレクトリを掘るようにしてたのを revert しています。これをしても問題のエラーが直らなかったみたいです。

[6500f85927] Hiroshi SHIBATA 2023-07-21 03:21:44 UTC

979d1fa5fe57f441ceca10f513d6009ddd78b8f2 でコミット漏れしていた bundler で再定義する require で Gemfile や依存関係に明記されてなかったら警告出力する対象の gem リストのファイル lib/bundled_gems.rb を追加しています。

[26aef1c736] Nobuyoshi Nakada 2023-06-30 07:12:56 UTC

parse.y で lex_eol_p() や lex_eol_ptr_p() などのマクロを利用するようにリファクタリング

[283b2fdab4] Stan Lo 2023-07-26 08:31:58 UTC

irb の組み込みコマンド ls (ファイルではなくメソッド一覧を表示する)の結果表示に show_cmds と同様にページャーコマンドを利用するようにしています。

[9b405a18be] Jean Boussier 2023-02-21 11:38:25 UTC

fa30b99c34291cde7b17cc709552bc5681729a12 で追加したアプリケーションの初期化完了時をインタプリタに知らせる Process.warmup の処理に全 String のインスタンスの coderange の計算と設定をしてしまうのを追加しています。最終的に必要ない文字列のぶんをやってしまうとかえって遅くなるとかありそうだけど、そんなことはほとんどないのかな。