ruby-trunk-changes r40965 - r40976

今日は主に RGENGC の不具合修正や機能追加された新機能の不具合修正など追加の修正がありました。

nobu:r40965 2013-05-28 01:48:15 +0900

r40940, r40946, r40960 あたりの変更のコンパイラ警告除去。値を返すはずの関数の return 文漏れや RHASH_SIZE() の型の変更に伴なう比較の警告除去のための変数の型変更など。

nobu:r40966 2013-05-28 01:48:18 +0900

Kernel#__dir__ のテストで __FILE__ が相対パスの時にテストに失敗するので File.expand_path を挟んで絶対パスになるようにして比較するようにしています。

ko1:r40967 2013-05-28 02:08:25 +0900

r40940 で追加した rb_postponed_job_register_one() で同じ関数を重複して登録しないようにリストをループで回ってチェックする部分でリストを辿っていなかった不具合を修正しています。テストがなかったみたいですね。

ko1:r40968 2013-05-28 02:46:20 +0900

GC_ENABLE_LAZY_SWEEP のチェックの条件が反転していて Lazy Sweep が無効になっていたのを修正しています。

ko1:r40969 2013-05-28 02:57:08 +0900

gc_stat() 内で誤って rest_sweep() を呼び出していたのを削除しています。

ko1:r40970 2013-05-28 03:14:28 +0900

拡張ライブラリ objspace で ObjectSpace.after_gc_start_hook= と ObjectSpace.after_gc_end_hook= という GC の開始/終了時のフックを登録するメソッドを追加しています。これは postponed_job を使って実際の実行は次の finalizer 実行のタイミングで行なわれます。 rb_postponed_job と TracePoint の internal event のサンプルとして実装してみた、とあります。

nobu:r40971 2013-05-28 03:16:05 +0900

r40970 で新規追加したファイルの svn property 設定。

nobu:r40972 2013-05-28 11:23:52 +0900

ext/objspace/gc_hook.c と ext/objspace/object_tracing.c の Subversion の $Author$ タグが展開された状態でコミットされていたので戻しています。

nobu:r40973 2013-05-28 11:30:13 +0900

ext/extmk.rb で Makefile の中身に変更がなければ生成しなおさないようにして不要な再リンクを抑制するようにしています。

ko1:r40974 2013-05-28 12:36:34 +0900

r40957 で追加した拡張ライブラリ objspace の ObjectSpace.trace_object_allocations で TracePoint#path が nil の場合を考慮していなかった不具合の修正と、ObjectSpace.allocation_class_path と ObjectSpace.allocation_method_id というメソッドの新規追加を行なっています。 [ruby-core:55182] [Bug #8456]

nobu:r40975 2013-05-28 13:52:07 +0900

r40974 で追加した拡張ライブラリ objspace の make_unique_str() という関数の文字列サイズを指定する引数の型を int -> long へ変更しています。

kazu:r40976 2013-05-28 21:15:31 +0900

r40957 の ChangeLogtypo 修正。