ruby-trunk-changes r52140 - r52150

今日は主に load 時の処理のリファクタリングや fd leak 修正がありました。

odaira: r52140 2015-10-17 05:35:47 +0900

String#to_sym の memory leak のテストで assert_no_memory_leak の誤検出の修正のために warm up の文を追加して、また rss で比較するようにしています。 [ruby-core:67268] [Bug #10686]

svn: r52141 2015-10-17 05:36:42 +0900

version.h の日付更新。

nobu: r52142 2015-10-17 08:24:37 +0900

load 時に fd がディレクトリだった時などエラー時に fd の閉じ忘れがあったのを修正しています。

nobu: r52143 2015-10-17 13:03:23 +0900

r52139 で load 時に open(2) のフラグに O_NONBLOCK や O_NDELAY を追加したのですが include/ruby/win32.h で O_NONBLOCK を定義しているところがあったので、それを誤検出しないようにしています。

nobu: r52144 2015-10-17 13:07:46 +0900

vm_insnhelper.c の vm_yield_with_cfunc() で VC での警告除去のため明示的 cast を追加しています。

nobu: r52145 2015-10-17 13:19:12 +0900

load_file_internal() と load_file_internal2() をまとめて同じ関数(load_file_internal())にして、rb_ensure() の後始末処理も restore_load_file() にまとめるリファクタリング

nobu: r52146 2015-10-17 13:31:43 +0900

ファイルパスのエンコーディングの処理でできるだけ encoding index で処理できる時は rb_encoding を取得せずに済ませるようにする最適化のようです。

nobu: r52147 2015-10-17 13:55:47 +0900

rb_str_conv_enc_opts() から rb_str_cat_conv_enc_opts() と str_cat_conv_enc_opts() と関数を分割して、File.expand_path の実装でこれを利用するようにしています。違いはよくわかりませんが、多分効率のためかな。

nobu: r52148 2015-10-17 14:01:41 +0900

定数の再定義での memory leak のテストで $stderr をすりかえて警告を捨てるようにしていたのを、コマンドラインオプションに -W0 を指定して警告を抑制するように変更しています。

nagachika: r52149 2015-10-18 01:39:52 +0900

r52147 の ChangeLog エントリが重複していたのを削除しています。

svn: r52150 2015-10-18 01:40:11 +0900

version.h の日付更新。