ruby-trunk-changes r51996 - r52005

今日も Symbol をブロック引数に渡した時の最適化の不具合修正と、その他テストの修正や調整がありました。

nobu: r51996 2015-10-02 00:18:42 +0900

r51989 のブロック引数に Symbol を渡した時の最適化に関連した修正だと思いますが、Proc の rb_vm_proc_envval() の mark 処理の条件を修正しています。 rb_vm_proc_envval(proc) が NULL じゃない時に mark するようにしてましたが、proc->block.ep が NULL じゃない時にだけ rb_vm_proc_envval() を呼ぶように修正しています。 [ruby-core:70961] [Bug #11560]

svn: r51997 2015-10-02 00:21:18 +0900

version.h の日付更新。

nobu: r51998 2015-10-02 00:51:20 +0900

r51996 で追加した GC のテストのタイムアウトを緩めています。 [ruby-core:70961] [Bug #11560]

kazu: r51999 2015-10-02 01:41:04 +0900

r51944 の ChangeLog エントリのインデント修正(TAB化)。

duerst: r52000 2015-10-02 09:20:23 +0900

lib/unicode_normalize/tables.rb でダウンロードする Unicode のバージョンを 8.0.0 に変更しています。

nobu: r52001 2015-10-02 09:31:31 +0900

test/ruby/test_thread.rb の Thread.handle_interrupt のテストで例外発生時に Thread が join されずに残されていたのを修正しています。

nobu: r52002 2015-10-02 10:23:48 +0900

r52001 の Thread.handle_interrupt のテストでメインスレッドが assert_raise のブロックに入ってから Thread#raise で例外発生させるようにタイミングを調整するようにしています。 うーん、この元の r=:ok は Thread.current.raise はすぐに例外が発生せずにこの代入が実行される(:on_blocking により sleep まで割り込みが遅延される)というのをチェックしていたんじゃないかと思うので、単に削ったらテストの意図が変わってしまうんじゃないでしょうか?

nobu: r52003 2015-10-02 11:59:17 +0900

[Bug #8100] の Method の回収時の不具合修正のテストで無限ループしていたところを 1000000回のルーブに書き換えてタイムアウトするまで繰り返すというのをやめています。

nobu: r52004 2015-10-02 12:35:58 +0900

test/ruby/test_symbol.rb の Symbol#to_proc の GC 関連のテストでループ回数を減らしています。

nobu: r52005 2015-10-02 13:50:45 +0900

r52003 で修正してた [Bug #8100] 用のテストをばっさりと削除しています。 r50728 により rb_method_entry_t が control frame から value stack にのるように変化したので不要とのこと。なぜ不要なんだろう…。