ruby-trunk-changes r40977 - r40981

今日は RGENGC 関連の不具合修正がありました。RubyKaigi 2013 の前夜ということで少しひと休みという感じです。
明日からは RubyKaigi2013 です。わたしも参加しますのでみかけたらお声をかけてください。

tmm1:r40977 2013-05-29 05:57:14 +0900

r40957 で追加された ext/objspace/object_tracing.c のヘッダ部分のコメントの typo を修正。

svn:r40978 2013-05-29 05:57:18 +0900

version.h の日付更新。

ko1:r40979 2013-05-29 10:38:52 +0900

r40933 で追加した RGENGC 関連の Hash オブジェクトの write barrier 挿入の修正です。 Hash の要素を追加する時には value だけでなく key も write barrier の対象にしています。 また st_update() などで要素の追加/更新を行う時には、第2引数は実際の格納先の左辺値ではなく、一時的に格納するローカル変数だったりするので、代入つきの OBJ_WRITE() ではなく OBJ_WRITTEN() で更新されたことを知らせるだけにしています。このあたりの RGENGC の実装についてはきっと明日の RubyKaigi 2013 でのささださんの発表できけることでしょう。楽しみ!

kazu:r40980 2013-05-29 10:44:24 +0900

r40979 の ChangeLogtypo 修正。

naruse:r40981 2013-05-29 13:38:38 +0900

test/ruby/test_io.rb の TestIO#test_copy_stream_socket7 でテスト前に GC.start で full GC を実行するようにしています。 CI で時々このテストが NoMemoryError になる場合があるそうで、そのための対処とのこと。