今日は set_trace_func のフック内で無引数の raise を実行した時の不具合修正や GC のパラメータ再調整などがありました。
nobu:r43559 2013-11-07 05:37:12 +0900
.gdbinit の rp コマンドで RGenGC 用のフラグ名が r43527 で改名されたのに対応しています。
svn:r43560 2013-11-07 05:37:17 +0900
version.h の日付更新。
nobu:r43561 2013-11-07 09:39:56 +0900
set_trace_func のフックに外側の rb_thread_t::errinfo が外に伝播していて、引数なしの raise をフック内で実行した時に内部的なオブジェクトが例外として投げられてしまって SEGV を起こしていた不具合を修正しています。 これは 2.0.0 でも起きないかチェックしたほうがよさそうですねぇ。 [ruby-dev:47793] [Bug #9088]
→ SEGV はおきませんでしたが無限ループ? に陥いっているみたいな状態になったので何かしら対処は必要そうでした。
glass:r43562 2013-11-07 10:37:34 +0900
Array#sample の実装で rb_ary_subseq() で共有する配列を作ってすぐに rb_ary_modify() していてあまり共有していた意味がなかったので rb_ary_dup() で複製を作るようにしています。
glass:r43563 2013-11-07 11:08:36 +0900
Array#shuffle! でも RARRAY_PTR() を使っていたところを RARRAY_PTR_USE() を使って shady になるのを防いでいます。