ruby-trunk-changes r51557 - r51565

今日は大きく挙動を変えるような変更はなく細かな最適化や不具合調査用の変更などがありました。

normal: r51557 2015-08-13 08:43:41 +0900

load.c の features_index_add() についてのコメント内の変数名の typo 修正。

svn: r51558 2015-08-13 08:44:09 +0900

version.h の日付更新。

normal: r51559 2015-08-13 09:02:01 +0900

load.c の features_index_add() で同じポインタ演算を繰り返していたところをローカル変数に結果を格納して使いまわすようにしています。

nobu: r51560 2015-08-13 12:34:38 +0900

r51551 で finalizer 中のシグナル受信時のテストのタイムアウト時に子プロセスに送信するシグナルを SIGABRT にしましたが、SIGSEGV に変更しています。 rb_bug() でバックトレース等を出力させるためでしょう。 Windows では存在しないんじゃないかな。まあ CI でのデバッグのための措置なんでしょうけど。

nobu: r51561 2015-08-13 13:41:51 +0900

include/ruby/defines.h で定義されている関数の別名を定義するマクロ RUBY_ALIAS_FUNCTION_TYPE()/RUBY_ALIAS_FUNCTION_VOID() でキャストを追加し警告を抑制したりしています。

nobu: r51562 2015-08-13 13:41:54 +0900

r51541 で導入した ID 専用テーブルの実装 id_table.c で実装の指定に応じて関数名に展開するマクロ IMPL()/IMPL1()/IMPL2() などを再度変更しています。識別子の連結に TOKEN_PASTE() マクロを利用するようにしています。

nobu: r51563 2015-08-13 14:36:33 +0900

math.c の num2dbl_with_to_f() から object.c に rb_num_to_dbl() という名前の関数として移動して、数値オブジェクトの double 化や Float 化のあたりをリファクタリングしています。正直何が変わったのかよくわかりませんが…。

nobu: r51564 2015-08-13 16:22:10 +0900

Thread.handle_interrupt で内部的に確保する mask のオブジェクトを freeze するようにしています。

ko1: r51565 2015-08-13 17:43:32 +0900

r51546 で inline 関数として切り出したキーワード引数用のメモリ領域計算を行う関数 rb_call_info_kw_arg_bytes() の定義を vm_core.h から iseq.h へ移動しています。