ruby-trunk-changes 2022-08-31

今日は net/protocol のバッファの取扱いの最適化などがありました。

[497b5ee180] Takashi Kokubun 2022-08-30 19:44:08 UTC

CI の設定ファイル .cirrus.yml で rdoc 生成のタスクの削除? と btest の make のターゲットを btest から test に変更しています。だいたいいっしょですが make test のほうが known_bugs.rb の実行などを含んでてちょっとだけ対象が広いという感じですね。

[918a658556] Takashi Kokubun 2022-08-30 19:44:55 UTC

同じく .cirrus.yml に YJIT 関連の Rust コードのテストのため? cargo test の実行をするタスクを追加しています。

[5dbc725f4d] Takashi Kokubun 2022-08-30 20:02:26 UTC

YJIT の Rust 実装の arm64 アーキテクチャ向けのコードでテストのスキップのための cfg attribute を追加しています。

[4a4daf00af] Maxime Chevalier-Boisvert 2022-08-30 20:04:02 UTC

497b5ee1803e67efe641671276a05831ad788898 の続きで .cirrus.yml で make test を実行するようにしたタスクの名前も make_btest_script から make_test_script に変更しています。

[f4cdfff084] git 2022-08-30 21:22:01 UTC

version.h の日付更新

[221a523683] Takashi Kokubun 2022-08-31 00:07:27 UTC

doc/mjit/mjit.md という MJIT のドキュメントのファイルを追加しています。主に MJIT 自体の開発のための Tips を書く場所みたいです。

[739380c97d] Jean Boussier 2022-08-20 09:25:54 UTC

net/xxx 系の標準添付ライブラリが共通して使っているソケット通信用の net/protocol の Net::BufferedIO クラスのバッファ用の文字列オブジェクトを極力変更せずに読み出し時に部分文字列を切り出すようにして不要なオブジェクトの生成を押さえるように最適化しています。実装は複雑になりましたがベンチマークは若干速く……うーんそんなにめざましい効果という感じではないですけどね。

[08c3d08a18] Nobuyoshi Nakada 2022-08-31 06:23:50 UTC

rubystub.c に #include "internal/missing.h" を追加しています。 ruby_init_setproctitle() の宣言のために必要とのこと。

[dc66f7246a] Nobuyoshi Nakada 2022-08-31 06:24:37 UTC

defs/gmake.mk の SCRIPTPROGRAMS という変数に設定するファイルを探索するディレクトリの libexec/ を bin/ に変更しています。

[22542a6fb0] Nobuyoshi Nakada 2022-08-31 06:28:31 UTC

defs/gmake.mk で依存関係のためのタイムスタンプファイル .exec.time の利用をやめて SCRIPTBINDIR ディレクトリを単に mkdir するようにしています。既にあっても再実行しても問題ないからということみたいですね。元はなんでタイムスタンプファイル利用してたんだろ。

[9dc60653db] Nobuyoshi Nakada 2022-08-30 05:16:02 UTC

sprintf.c の rb_str_format() という関数内で文字列の coderange をスキャンしてオブジェクトにセットする一連の処理を update_coderange() というマクロに切り出してリファクタリングしています。引数にない変数などに依存しているのでこの関数内でのみ使えるマクロですね。

[576bdec03f] Nobuyoshi Nakada 2022-08-30 09:12:08 UTC

Kernel#sprintf や String#% で %c 指示子で 128-255 の範囲の 8bit 文字を追加する時に文字列オブジェクトの Encoding を ASCII-8BIT に変更するようにしています。 [ruby-core:109645] [Bug #18973]

[2b967cd4b7] Nobuyoshi Nakada 2017-08-30 13:49:53 UTC

template/fake.rb.in でシンボルの置換時に行末のバックスラッシュでエスケープされた改行? に対応しているみたいです。

[32a0591515] Nobuyoshi Nakada 2017-08-30 14:23:38 UTC

ruby -v オプションなどで表示するためのマクロ RUBY_DESCRIPTION_WITH の定義を version.h から version.c に移動しています。