ruby-trunk-changes r37625 - r37628

今日は昨日修正した refinement と module_eval の組合せて動くようにする修正がパフォーマンス問題から revert されています。 ML やチケットで refinement の仕様について議論が活発になっていて仕様もまだ変化しそうです。

usa:r37625 2012-11-12 14:29:52 +0900

VS2012 で mswin 版のビルド時に def ファイルを作成するため win32/mkexports.rb で不要なシンボルをフィルタする処理で、シンボル名のフォーマットが変更になった(文字数が長くなったらしい)ので排除できなくなっていたので文字列長を調整しています。 [ruby-dev:46484] [Bug #7333]

svn:r37626 2012-11-12 14:30:00 +0900

version.h の日付更新。

shugo:r37627 2012-11-12 16:00:12 +0900

r37616 でインラインキャッシュに refinement を考慮するためにメンバを追加した修正を revert して、テストは残しつつ skip するようにしています。 この変更によりメソッド探索のキャッシュヒットの検査に分岐が増えて遅くなってしまうため、refinement を利用しないケースのパフォーマンスに影響を与えてしまうため別の実装方法を取るか、module_eval での refinement の考慮を仕様的に落とすかといった議論が ML でされています。 [ruby-dev:46477]

knu:r37628 2012-11-12 19:26:28 +0900

DragonFly BSD では isinf() と isnan() が関数マクロとして定義されているので ac_cv_func_isinf および ac_cv_func_isnan を yes に定義しています。