今日は caller や caller_locations の不具合修正や Makefile の依存関係の修正などがありました。
[2c3ac0febe] Kazuhiro NISHIYAMA 2021-03-24 15:20:22 UTC
gems/bundled_gems の typeprof のバージョンを 0.13.0 に更新しています。
[91ab024de9] git 2021-03-24 15:20:52 UTC
version.h の日付更新
[f9f13a4f6d] Jeremy Evans 2021-03-04 17:59:28 UTC
テストコードをみても発生条件はよくわからなかったのですが、caller とか caller_locations で ruby の backtrace を得る時に取得範囲が間違ってることがあった不具合を修正しているようです。 https://github.com/ruby/ruby/pull/4237 [Bug #17581] の 87437326214e4587a41946c8937e11418d983acd の修正の影響?
[b25361f731] Peter Zhu 2021-03-12 19:36:58 UTC
ObjectSpace.each_object のようにオブジェクトの heap 全てをスキャンするような操作の途中でオブジェクトの確保を含む処理があると、潜在的には処理によって増えた heap をさらにスキャンして、その処理によってまた heap が増えて……と無限に続く可能性があるとのことで(なお実際には今の実装ではスキャンする順序によりこういうことは起きないらしい)、objspace_each_objects() の実装を変更してスキャン前に page 数をカウントしてその page へのポインタも事前に配列に詰めておいてそれを利用するようにしています。ちょっと余計なメモリを使うようになるけど将来的に実装が変わった時に実際に無限ループにならないように、ということみたいです。 https://github.com/ruby/ruby/pull/4263
[12812c2bdf] Kazuhiro NISHIYAMA 2021-03-25 05:58:19 UTC
make test-bundler-parallel で XRUBY への引数に $(srcdir) を渡すかわりに shell の変数に $(srcdir) の位置を pwd で取得して格納しておいて、これを展開して渡すようにしています。 $(srcdir) だと展開されないのかな。
[cda60ee6d5] Nobuyoshi Nakada 2021-03-25 04:51:28 UTC
common.mk の lib/unicode_normalize/tables.rb の更新用のターゲットを ALWAYS_UPDATE_UNICODE が yes にセットされてた時だけ定義するようにして、デフォルトでは再生成させないようにしています。
[e7dc6f2a3c] Nobuyoshi Nakada 2021-03-25 08:01:50 UTC
common.mk の enc.mk の依存関係に enc/jis/props.h を追加しています。
[f45bed0a6e] Kazuhiro NISHIYAMA 2021-03-25 09:06:06 UTC
12812c2bdf146805fedec79d299c2fa120a117fc の再修正。 make test-bundler-parallel で引数に spec/bundler/ を渡すために shell の pwd を使っていたのをやめて、$(XRUBY) のスクリプト内で引数を File.expand_path して、そこからさらに Kernel#exec で $(XRUBY) を実行するという 2段構えの起動をするようにしています。 $(srcdir) の展開というよりフルパスにするのが目的だったみたいですね。
[ad8842c06d] aycabta 2021-03-24 06:33:07 UTC
0927756e58c7d68517a1468f2327ce50989ff3f2 の irb の completion で require/require_relative の引数の補完ができるようになった変更の追加で Dir.glob で得たファイル名リストをクラス変数にキャッシュしておいて使いまわすようにしています。なるほどー。 Dir.chdir した時に files_from_current_dir のほうはクリアしたくなるとか、今後も変更の余地がありそう。