今日は MJIT の実装の大きな方針変更や cgi の Cookie の domain に許容する文字列の修正などを含むたくさんの変更がありました。
[1b67c58f41] Nobuyoshi Nakada 2021-12-08 14:48:12 UTC
標準添付ライブラリ rdoc の C と ruby のパーサーのタブの処理する部分を共通化してメソッドに切り出しています。
[511864d1a7] Nobuyoshi Nakada 2021-12-08 15:10:33 UTC
標準添付ライブラリ rdoc のマークアップをパースするための正規表現を変更しています。よく読めてませんが中間オブジェクトを抑制して効率良くするためみたいです。
[ae3817bc61] nick evans 2022-11-16 19:07:18 UTC
標準添付ライブラリ rdoc の生成する HTML のテンプレートを変更してサイドバーのツリーの HTML 構造を変更しているようです。
[29862ce273] nick evans 2022-11-16 19:11:08 UTC
標準添付ライブラリ rdoc の HTML テンプレートでメソッド一覧のリストの HTML 構造をひとつネストさせています。
[21977b95e2] Nobuyoshi Nakada 2022-10-05 11:07:02 UTC
標準添付ライブラリ rdoc のマークアップの parser をリファクタリングしていますが、エラーになってたので次で revert されています。
[5b1db79129] Nobuyoshi Nakada 2022-11-27 19:19:01 UTC
21977b95e238da08ee2dc50fe5a908f11feb130c の rdoc の変更でビルド時のドキュメント生成でエラーになってたので revert しています。
[03b96319b4] Takashi Kokubun 2022-11-27 21:02:42 UTC
標準添付ライブラリ rdoc のテストで ae3817bc61cb320524f153e82eb5eee752188a12 によって CI でエラーになっているものがあったので一時的に skip するようにしています。
[62476dd268] Takashi Kokubun 2022-11-27 21:12:29 UTC
GitHub Actions の MJIT のテストのための workflow でコマンドラインオプションに --mjit と --mjit-wait とどちらかを付けたテストを流していたのを --mjit-wait のほうだけ流すようにしています。
[f93ae96b0e] Takashi Kokubun 2022-11-27 21:32:39 UTC
GitHub Actions の MJIT のテストのための workflow で make test-all の実行するアクションをコメントアウトしています。
[2a6dfb1cbb] Takashi Kokubun 2022-11-27 21:43:43 UTC
MJIT で fork で子プロセスを起動してそこからコンパイラ起動するようにしていたのを実装のシンプルさのために直接起動するようにしているみたいです。
[e3de723043] Takashi Kokubun 2022-11-27 22:50:10 UTC
lib/mjit/compiler.rb のコメントの削除や Module#private の呼び出し位置の変更など。
[595f3063f0] StepSecurity Bot 2022-11-25 11:14:05 UTC
StepSecurity という bot により GitHub Actions の workflow に permissions という設定が追加されています。
[0096d99eff] git 2022-11-28 02:57:48 UTC
gems/bundled_gems と NEWS の rbs のバージョンが 2.8.1 に更新されています。
[1a744417f2] Soutaro Matsumoto 2022-11-28 03:31:17 UTC
コミットログから察するに 0096d99effc4b0a9c2209d6c1312aadab8a5a79c と同じ gems/bundled_gems の rbs のバージョン更新みたいですが空のコミットになっています。
[98074a57ca] Hiroshi SHIBATA 2022-11-28 03:34:34 UTC
標準添付ライブラリ cgi のバージョンを 0.3.6.dev に更新しています。
[1612d57691] git 2022-11-28 03:35:19 UTC
98074a57ca9f3169fe9da9af6c49b636d37db16f に追随して NEWS の default gems のバージョンリストの cgi のバージョンも更新しています。
[745dcf5326] Xenor Chang 2022-11-28 04:34:06 UTC
標準添付ライブラリ cgi で c05f85f373ed48594d9bf08e11ae0c84c06062f7 で domain の内容のチェックが厳しくなった時に先頭が "." の domain も拒否されるようになっていましたが、古い RFC (2109) ではこれは許容されていた(新しい RFC-6265 でも先頭が "." の時は無視することという特記事項があったので許容されていた)ので通すように変更しています。 [ruby-core:111022] [Bug #19153]
https://github.com/ruby/cgi/pull/29
[e0901f46b7] Sven Riedel 2022-11-28 04:36:26 UTC
標準添付ライブラリ rdoc のコマンドラインオプションに --no-skipping-tests というのを追加しています。テストのファイルからもドキュメントを作れるようにしているみたいです。そんなことあるのかな。
[b335d899ff] Hiroshi SHIBATA 2022-11-28 04:39:16 UTC
標準添付ライブラリ cgi のバージョンを 0.3.6 に更新しています。
[529e58d610] git 2022-11-28 04:41:36 UTC
b335d899fff3cc22b022c9ee2ceb636d714bf1a7 の変更に追随して NEWS の default gems のバージョンリストの cgi のバージョンも更新しています。
[833545a211] Kazuhiro NISHIYAMA 2022-11-28 04:57:50 UTC
NEWS のチケット参照をリンクにするための footnote の順番をチケット番号で並べかえています。
[6d26f78f68] Takashi Kokubun 2022-11-27 23:42:18 UTC
tool/mjit/bindgen.rb で最初に .cache/clangd というディレクトリがあれば削除しておくようにしています。
[6844bcc6b4] Takashi Kokubun 2022-11-27 23:15:52 UTC
YJIT および MJIT の生成する C コードで JIT コンパイル用の C コードを fprintf() で書き出すようにしてたのを String オブジェクトを渡してに文字列として追加するようにしています。これよくわかってないですけど YJIT の Rust 実装にも binding 部分のみ変更がありますけど YJIT でも C のコード生成を使ってるのかな?
[a22c684c59] Takashi Kokubun 2022-11-28 05:41:53 UTC
MJIT の invokebuiltin、opt_invokebuiltin_delegate、opt_invokebuiltin_delegate_leave 命令の実装で共通部分を括り出すリファクタリング。
[880e8fd1f9] Takashi Kokubun 2022-11-28 05:48:13 UTC
Regexp#initialize の timeout のテストで CI で失敗することがあるのでタイムアウトをのばしています。
[87e7b640eb] Takashi Kokubun 2022-11-28 06:14:48 UTC
mjit.rb の警告抑制のためメソッド呼び出しの最初が rest 引数の時に明示的にかっこでくくるようにしています。
[2c1c0d3df0] Takashi Kokubun 2022-11-28 06:23:35 UTC
6844bcc6b4cdc50def1c0d30d4e8b5045fb43443 と同様に MJIT の C のソースコード生成時にファイルポインタに対して fprintf() で書き出していたところを文字列オブジェクトに追加していく方式に変更しています。
[168b0e1f02] Takashi Kokubun 2022-11-28 06:48:18 UTC
Process.waitpid で子プロセスが SIGPIPE を受け取った時のテストのタイムアウトをのばしています。
[1d1200555f] Takashi Kokubun 2022-11-28 07:05:56 UTC
MJIT の mjit_wait() で待つべきプロセスの pid が 0 だった時に処理が止まってしまわないように警告を出してスキップするようにしています。
[fb599523cd] Takashi Kokubun 2022-11-28 07:29:43 UTC
lib/mjit/compiler.rb の rdoc 用コメント? の修正。
[5a171ee4c0] Nobuyoshi Nakada 2022-11-28 05:49:40 UTC
tool/sync_default_gems.rb の全体をモジュールとして定義して tool/test/test_sync_default_gems.rb にこのツールのコミットログの変換まわりのテストを追加しています。
[93e87c0217] Nobuyoshi Nakada 2022-11-28 05:50:20 UTC
tool/sync_default_gems.rb のコミットログの変換で Co-Authored-By ヘッダが複数あった時の対応を追加しています。
[ccd8dd6ad3] Takashi Kokubun 2022-11-28 07:40:41 UTC
MJIT の ruby 実装部分の RubyVM::MJIT::Compiler を Module から Class にしています。 Solargraph という ruby の Language Server Protocol の実装でうまく認識されるようにするためだそうです。
[b033775ed9] Takashi Kokubun 2022-11-28 07:58:04 UTC
MJIT の C binding の mjit_c.rb で RubyVM::MJIT::C が既に定義済みの時だけモジュール定義するようにしています。しかしこのファイル内で RubyVM::MJIT::C は代入しているみたいなので、常に入らなくなる(または C は再代入される)ようにみえますがいいのかな?
[8e18761da1] Takashi Kokubun 2022-11-28 08:13:09 UTC
ccd8dd6ad395bbd9f5290e0fcb7929e5e5d36767 と b033775ed9d9226ba73c1d4a197e55ba89575142 の MJIT 関係の変更をテストが失敗したとのことで revert しています。
[906a2f067d] Nobuyoshi Nakada 2022-11-28 08:13:39 UTC
tool/sync_default_gems.rb で 5a171ee4c05c0ed20ac4b4632e54b23717d5fe16 で Module 化したので FileUtils の extend も追加しています。
[8bac8772df] Hiroshi SHIBATA 2022-11-28 07:50:41 UTC
GitHub Actions の workflow に permissions の設定を追加しています。 595f3063f01ce25122b6d1ae452720b0ec58e86d で StepSecurity がしたのと同様の変更ですが一部の workflow しか変更してくれなかったようなので残りも手動で追加したみたいです。
[d72f6749cb] Nobuyoshi Nakada 2022-11-28 08:24:49 UTC
tool/sync_default_gems.rb の module 文を追加した時にインデントはさせていなかったのでインデント追加しています。
[6559ba3b5c] Nobuyoshi Nakada 2022-11-28 10:28:50 UTC
tool/sync_default_gems.rb のコミットログの変換のための正規表現で文字クラスに \s と \t を書いてるところがありましたが \s はスペースだけでなくタブも含む空白文字類を意味するため重複していたのでスペースに変更しています。
[ee11090b28] Nobuyoshi Nakada 2022-11-28 10:37:59 UTC
tool/sync_default_gems.rb で upstream のリポジトリのデフォルトブランチ名の指定に対応するようにしています。