ruby-trunk-changes 2022-11-30

今日は syntax_suggest の更新や MJIT の実装のリファクタリングなどがありました。

[3e4d1a1dd1] Takashi Kokubun 2022-11-29 15:09:32 UTC

YJIT の実装で割り込みチェックのコード生成部分で rb_execute_context_t::interrupt_flag と interrupt_mask をビットマスクをかけてチェックしていたのをやめて interrept_flag のみみるようにしています。 https://github.com/ruby/ruby/pull/6825

[bbed2269bc] Takashi Kokubun 2022-11-29 20:46:21 UTC

mjit_c.rb で未使用のローカル変数の警告抑制のため変数名の先頭に "_" を追加しています。Primitive.cstmt! の中で参照しているのですが ruby スクリプトとしてはただの文字列なので変数参照として認識されないため。

[4e13f5b579] Yusuke Endoh 2022-11-30 02:33:33 UTC

NEWS に Regexp.timeout= の追加について追記しています。 [Feature #17837]

[33a9a7fd8d] Yusuke Endoh 2022-11-30 02:35:44 UTC

NEWS に Exception#detailed_message の追加と捕捉されない例外での扱いについて追記しています。 [Feature #18564]

[d6e91784ab] schneems 2022-11-29 20:09:20 UTC

標準添付ライブラリ syntax_suggest でエラー箇所を表示するための文字として "❯" というマルチバイト文字を使っていたのを ">" を利用するように変更しています。そして syntax_suggest のバージョンを 1.0.1 に更新しています。

[062c5a9e6b] git 2022-11-30 03:59:46 UTC

NEWS の default gems のバージョンリストの syntax_suggest のバージョンも更新しています。

[9a84971315] Takashi Kokubun 2022-11-30 04:52:29 UTC

irbIRB::ExtendCommand::Ls#execute の戻り値を nil に変更しています。

[ecc15bc94a] Takashi Kokubun 2022-11-30 05:19:36 UTC

mjit_compiler.c を mjit_c.c にファイル名変更しています。昨日もあったような気がしたけど昨日のはヘッダーファイル(mjit_compiler.h → mjit_c.h) でしたね。 acb76663ba20241e7c2552aafae8b1d883520b9a ついでに(?) mjit_compile() 関数の定義を mjit.c に移動しています。

[7a2b1364ef] Takashi Kokubun 2022-11-30 05:32:16 UTC

mjit_unit.h の内容を mjit_c.h に展開しています。

[a1d70f5b12] Takashi Kokubun 2022-11-30 05:42:35 UTC

tool/ruby_vm/views/mjit_compile_attr.inc.erb を tool/ruby_vm/views/mjit_sp_inc.inc.erb に改名しこのテンプレートから生成される .inc ファイルも同様に改名しています。

[d0c0d7fa5b] Takashi Kokubun 2022-11-30 06:35:17 UTC

2329cbeb5bf7c7e8720cd4512285e6784c41367e の続きで MJIT で T_OBJECT 以外のオブジェクトのインスタンス変数管理方法の指定の FL_EXIVAR フラグが立ってるオブジェクトの時の最適化部分を削っています。 optcarrot でのベンチマークが遅くなってしまったとのこと。

[c8bfbbc25e] Hiroshi SHIBATA 2022-11-30 08:20:38 UTC

拡張ライブラリ socket の Socket.tcp の rdoc 用コメントから実際には機能していない resolve_timeout のオプションの記述を削除しています。 [ruby-core:99766] [Feature #17134]

[cf3b305c43] Nobuyoshi Nakada 2022-11-30 10:06:12 UTC

標準添付ライブラリ un.rb の wait_writable メソッドで File.open でファイルを開こうとする時に開きっぱなしで IO オブジェクトを捨ててたのでブロック渡しの呼び出しにしてすぐ閉じるようにしています。

[d532d27507] Nobuyoshi Nakada 2022-11-30 10:11:42 UTC

標準添付ライブラリ irb のヒストリファイルの読み込みのために Kernel#open のかわりに File.open を利用するように修正しています。

[817193104d] Nobuyoshi Nakada 2022-11-30 11:02:41 UTC

GitHub Actions の CodeQL のチェックを実行する workflow に workflow_dispatch 設定を追加して手動で起動できるようにしています。