ruby-trunk-changes r63913 - r63925

今日は benchmark のドライバを完全に benchmark_driver.gem に移行する変更や RubyVM::InstructionSequence の配列オブジェクトからの load 時の mark 漏れの修正などがありました。

k0kubun: r63913 2018-07-09 21:50:50 +0900

benchmark/app_pentomino.yml の空の prelude を削除しています。

k0kubun: r63914 2018-07-09 22:20:25 +0900

benchmark/file_rename.yml でファイルの削除を close 前にしていたのが Windows 環境で動かないので先に close するように修正しています。 [ruby-core 87883]

hsbt: r63915 2018-07-09 23:01:05 +0900

irb.gemspec を追加して irb を default gem にしています。おおー、ついに irb も gem 化。といっても rubygems.org には名前だけ予約している状態みたいですけど。

k0kubun: r63916 2018-07-10 00:45:02 +0900

make update-benchmark_driver でインストールする benchmark_driver.gem を v0.14.0 に変更しています。コマンドラインオプションの扱いが変わったようなので benchmark/driver.rb でその対応をしています。

svn: r63917 2018-07-10 00:45:03 +0900

version.h の日付更新。

k0kubun: r63918 2018-07-10 01:31:35 +0900

benchmark/driver.rb は完全に削除されて make benchmark では benchmark_driver.gem の benchmark-driver コマンドを利用するように変更されています。 また make benchmark_each は benchmark ターゲットに変数を渡すことで代替できるようになるので削除しています。

k0kubun: r63919 2018-07-10 01:43:42 +0900

benchmark/README.md の benchmark-driver コマンドのサンプルで -e オプションに "," 区切りで引数を渡していたのを空白区切りに変更しています。 v0.14 での変更点かな?

tenderlove: r63920 2018-07-10 02:47:37 +0900

GC.stress 化で RubyVM::InstructionSequence の dump と load を行った時に mark 漏れで SEGV することがあった不具合を修正しています。

tenderlove: r63921 2018-07-10 02:49:21 +0900

make test-all で --debugger オプションに lldb を簡単に指定できるようにショートカットを追加しています。

tenderlove: r63922 2018-07-10 04:20:27 +0900

r63920 の修正で RGenGC のための Memory Write Barrier が追加されていましたが、これはどうも調査中の変更が混じってしまった? みたいでその部分だけ revert しています。 "Remove test code" っていうコメントなのにテストは消してないなー、と思ったけどたぶんそのような意味だと思う。

tenderlove: r63923 2018-07-10 05:01:54 +0900

compile.c の iseq_set_sequence() で VM 命令へのコンパイル処理で TS_ISEQ と TS_VALUE、TS_ISE と TS_IC はそれぞれ同じ処理が繰り返し書かれていたので switch 分の case 節をまとめて1つずつにしています。正確には TS_ISE は TS_IC に比べてちょっとだけ処理が多いので case の間にその差分を挟むようにしています。

k0kubun: r63924 2018-07-10 21:14:04 +0900

benchmark/lib/benchmark_driver/ の配下に benchmark_driver.gem の plugin 機構を使って peak/size といったメモリ使用量のベンチマークを取るオプションに対応するようにしています。benchmark_driver.gem のバージョンも v0.14.3 に更新しています。

svn: r63925 2018-07-10 21:14:05 +0900

r63924 で新規追加されたファイルの svn property 設定。