ruby-trunk-changes 2021-03-17

今日は Enumerable#tally の高速化や拡張ライブラリ zlib の Zlib::Gzip{Reader,Writer} に一時ファイルを渡した時の不具合修正、autogen.sh の追加などビルドプロセスまわりの変更などがありました。

[382d3a4516] Nobuyoshi Nakada 2021-03-16 13:14:56 UTC

Enumerable#tally の実装で rb_hash_stlike_update() を利用して Hash オブジェクトの更新を rb_hash_aref()/rb_hash_aset() を使わず st_table を直接更新するようにして高速化しています。

[d33159a2f1] git 2021-03-16 15:01:08 UTC

version.h の日付更新

[1dca333599] Matt Valentine-House 2021-03-16 10:46:07 UTC

misc/lldb_cruby.py の rp から bitmap のフラグをダンプする処理をコマンドに切り出すリファクタリング

[a47697aa44] Matt Valentine-House 2021-03-16 10:47:35 UTC

misc/lldb_cruby.py に dump_page というコマンドを追加してオブジェクトの heap page の全オブジェクトの情報を表示することができるようにしています。

[cf831f4918] Sorah Fukumori 2021-03-16 17:16:27 UTC

拡張ライブラリ zlib の Zlib::GzipReader, Zlib::GzipWriter に File::TMPFILE フラグを渡して開いた File オブジェクトを渡すと File#path メソッドが例外を発生するため? エラーになってたのを rb_rescue で例外を無視して抑制するようにしています。

[756e8a2cf3] Sorah Fukumori 2021-03-16 17:40:43 UTC

cf831f49189c4a890da6845e39199a5dfaf4fb48 で追加した zlib のテストで IO leak があったのを修正しています。

[58660e9434] Jeremy Evans 2021-02-18 23:22:37 UTC

Module#public_class_method や #private_class_method などで特異メソッドの可視性を変更する時に Refinements で refine されているメソッドの場合に意図せず refine で上書きしているほうの method entry が変更されているという不具合を修正しています。 [ruby-core:101981] [Bug #17519]

[3260602fa3] Nobuyoshi Nakada 2021-03-17 00:49:17 UTC

ext/zlib/zlib.c のインデントの修正のみ。

[d58daad37b] "NARUSE, Yui" 2021-03-17 06:36:05 UTC

コマンドラインオプションについて --help で出力されるヘルプで --disable-gems はデバッグ用途であるという記述を追加しています。 [ruby-core:102797] [Feature #17684]

[4250d7c910] Yusuke Endoh 2021-03-17 07:54:22 UTC

autogen.sh というシェルスクリプトを追加して autoreconf --install を実行するようにしています。よく知らないのですが autoconf 系のお作法でしょうか。

[83f96642d2] Yusuke Endoh 2021-03-17 08:17:18 UTC

4250d7c910fd67c0da07c6213901009330e3cd51 で追加した autogen.sh で autoreconf コマンドを決め打ちで書いてたのを環境変数 AUTORECONF があれば参照してこれを使うようにしています。

[f9e4378299] 卜部昌平 2021-03-17 09:52:53 UTC

aclocal.m4 を空ファイルにして同じ内容? を configure.ac に埋め込むようにしています。 https://github.com/ruby/ruby/pull/4280

[447feb0aa0] Nobuyoshi Nakada 2021-03-17 10:51:13 UTC

autogen.sh で autoreconf のオプションに --symlink を追加したり autogen.sh の呼び出し時のパスによって srcdir を決めて autoreconf の引数に渡すようにしたりしています。