今日は Refinements 関係の修正と、VM 終了時の finalizer 実行時の GC 抑制についての修正などがありました。
zzak: r49678 2015-02-22 04:06:17 +0900
拡張ライブラリ openssl のドキュメントの修正。いつのまにか https://github.com/ruby/openssl というリポジトリができていてそこからのマージという形になっています。
svn: r49679 2015-02-22 04:06:31 +0900
version.h の日付更新。
zzak: r49680 2015-02-22 04:09:21 +0900
拡張ライブラリ openssl の rdoc 用コメントの修正、という ChangeLog エントリの追加のみされています。たぶん対応するコミットは r49678 のマージに含まれています。 https://github.com/ruby/ruby/pull/834
nobu: r49681 2015-02-22 07:56:06 +0900
openssl の rdoc 用コメント修正。
nobu: r49682 2015-02-22 08:28:47 +0900
openssl の rdoc 用コメントをマクロの展開結果に含めるのをやめています。
nobu: r49683 2015-02-22 10:40:40 +0900
vsnprintf.c から ruby_vsnprintf() と ruby_sprintf() を sprintf.c に移動しています。 ruby 特有の関数を移動しているとのこと。
ko1: r49684 2015-02-22 11:00:40 +0900
r49474 で VM 終了時の処理が r49541 および r49545 で revert されていたのをリベンジしています。 rb_objspace_call_finalizer() で objspace->flags.dont_incremental および dont_gc を順次セットして finalizer 実行中の GC を抑制するようにしています。 Ruby レベルで定義した finalizer と T_DATA や T_FILE の finalizer で危険性が異なるので段階的にインクリメンタルGCの禁止 → GC 禁止としているそうです。 [ruby-core:67734] [Bug #10768]
ktsj: r49685 2015-02-22 16:05:14 +0900
class.c の static 関数だった rewrite_cref_stack() を vm_insnhelper.c に移動して rb_vm_rewrite_cref_stack() にして、COPY_CREF_OMOD() で cref の nd_refinements メンバをコピーするようにしています。 dup で複製された Module の refine で追加したメソッドを呼ぶと SEGV する不具合を修正しています。 [ruby-dev:48878] [Bug #10885]
kazu: r49688 2015-02-22 17:16:03 +0900
r49680 の ChangeLog エントリのインデントをタブ化。
hsbt: r49689 2015-02-22 18:33:47 +0900
common.mk で rubyspec のチェックアウト先を GitHub の nurse/rubyspec だったのを ruby/rubyspec に移動しています。