ruby-trunk-changes r43135 - r43141

今日は CSV.foreach が Enumerator を返せるようにする変更と GC.stat が返す統計情報の改善などがありました。

nobu:r43135 2013-10-04 09:32:35 +0900

標準添付ライブラリ csvCSV.foreach をブロックなしで呼んだ時に Enumerator を返すようにしています。 [ruby-core:57643] [ruby-core:57283] [Feature #8929]

svn:r43136 2013-10-04 09:32:41 +0900

version.h の日付更新。

nobu:r43137 2013-10-04 16:36:22 +0900

sizes.c を自動生成するために利用する ruby を $(BASERUBY) つまりビルドするために必要な外部の ruby を利用していたのを miniruby を利用するようにしています。 miniruby のビルドには sizes.c が不要なので外部のコマンドに極力依存しないようにしたということだと思います。 [ruby-core:57476] [Bug #8968]

tmm1:r43138 2013-10-04 19:05:37 +0900

struct rb_objspace rb_objspace に GC 用のパラメータ heap_limit を追加してヒープの数ではなくてその中に存在するスロット数の合計値で GC トリガの閾値を計算するようにしています。 [ruby-core:57633] [Bug #8983]

tmm1:r43139 2013-10-04 19:05:40 +0900

GC.stat[:heap_free_num] が LazySweep の影響で再利用可能な(sweep 予定の)スロット数ではなくて実際に sweep 済みのスロット数を返していたため、あまり有効なデータでなかったので、実際に再利用可能なスロット数を返すように修正しています。 [ruby-core:57633] [Bug #8983]

tmm1:r43140 2013-10-04 19:52:25 +0900

r43139 でそれまで GC.stat[:heap_free_num] の値として使っていた rb_objspace::heap.free_num を swept_num という名称に改名しています。 より実体を表した名称にしたとのことです。

zzak:r43141 2013-10-04 19:56:27 +0900

拡張ライブラリ dbm の rdoc コメントのサンプルコードのバグを修正しています。 https://github.com/ruby/ruby/pull/409