ruby-trunk-changes r57315 - r57322

今日は異常終了時のメッセージの変更、opt_lt/opt_gt 最適化命令の最適化する分岐の追加などがありました。

nobu: r57315 2017-01-13 10:46:45 +0900

SEGV などで異常終了した時のメッセージに macOS では別途バックトレースを含むファイルが生成されるので、それをレポートに含むようにというメッセージを最初と最後の2箇所に出力するようにしています。 "mention crash report log twice because important." とのことなので「大事なことなので2回言ってみた」ってことですね。

svn: r57316 2017-01-13 10:46:45 +0900

version.h の日付更新。

nobu: r57317 2017-01-13 11:57:45 +0900

r57315 で追加というか切り出した「大事なメッセージ」を出力する関数 bug_important_message() を vm_dump.c から error.c に移動して、メッセージが本当に最後に出力されるように位置を調整しています。

nobu: r57318 2017-01-13 12:24:22 +0900

r57315 からの macOS でのクラッシュログのファイルについてのメッセージですが、Mac OS X 10.6 以前では CrashReporter というディレクトリ名が使われているので分岐するようにしています。

nobu: r57319 2017-01-13 14:49:43 +0900

最適化命令 opt_lt と opt_gt にあった対象のオブジェクトがどちらも Float だった時の分岐を opt_le と opt_ge に追加しています。条件判定のために FLOAT_INSTANCE_P() というマクロを切り出しています。

nobu: r57320 2017-01-13 14:58:44 +0900

tool/rbinstall.rb で LIBRUBY_RELATIVE の値を config.h から切り出して検出していたのを rbconfig.rb の RbConfig::CONFIG に LIBRUBY_RELATIVE の項目があったのでそれを直接参照するように変更しています。

kazu: r57321 2017-01-13 21:08:29 +0900

標準添付ライブラリ observer の magic comment frozen_string_literal を true に変更しています。

nobu: r57322 2017-01-13 23:15:00 +0900

tool/rbinstall.rb で install?(:local, :comm, :bin, :'bin-comm') の呼び出しのブロックの内容を Struct を使ってインスタンス化して $script_installer という変数に格納しておいてそれを使うようにして Gem::Installer でもこのオブジェクト化したものを流用するようにしています。 shebang の解釈などをさせたいのかな。