ruby-trunk-changes 2019-10-06

今日は末尾再帰の最適化を on にした時の不具合の修正とその revert などがありました。

[2409667aa2] Yusuke Endoh 2019-10-06 02:39:01 UTC

time.c には WIDEVALUE という若干アレな型があって、環境によっては VALUE とは幅(メモリ上のサイズ)が異なるのですが、これらが同一であることを前提にしてしまっている箇所があったので明示的な w2v() や WIDEVAL_WRAP() での変換を追加しています。

[2ca353c2e0] git 2019-10-06 02:49:27 UTC

version.h の日付更新

[6525d3bcc7] Yusuke Endoh 2019-10-06 06:22:12 UTC

DTrace のテストの helper で Linux で stap が使えるかのチェックのために実行ユーザーが stapusr stapdev のいずれかの group に入ってるかのチェックで Etc.getgrnam が nil を返した時の例外処理を追加しています。

[f62f90367f] wanabe 2019-10-06 07:52:09 UTC

r67315 で rest 引数のないメソッドの呼び出しのための最適化パスを追加した際に末尾再帰最適化のオプションつきで ISeq を compile した時の考慮が漏れてたので、VM_CALL_TAILCALL をチェックして有効だった時のためまた別の実装を使うようにして対応を復活させています。 https://github.com/ruby/ruby/pull/2528 [ruby-core:94881] [Bug #16161]

[ddf5020e4f] Koichi Sasada 2019-10-06 08:01:00 UTC

f62f90367fc3bce6714e7c34cbd040e14e43fe07 を revert しています。ふーむなんでだろ。 https://github.com/ruby/ruby/pull/2528 [ruby-core:94881] [Bug #16161]