ruby-trunk-changes r60839 - r60848

今日も NODE の位置情報の修正、truncate や readlink の GVL 解放などの変更がありました。

ko1: r60839 2017-11-18 22:01:12 +0900

r60817 で導入した vm_trace() で trace が off になっている時の遅延 trace 無効のために rb_iseq_trace_set() を呼ぶ時に event flags を ISEQ_TRACE_EVENTS でマスクするようにしています。

yui-knk: r60840 2017-11-18 22:11:36 +0900

NODE_ITER の位置情報を修正しています。ブロックの開始位置になっていたのを、ブロックが渡されるメソッドの開始位置にしたみたいです。

naruse: r60841 2017-11-19 03:05:39 +0900

addr2line.c で SHF_COMPRESSED というフラグをチェックして、これが on だと行番号が取れないようなので、アドレスの offset を表示するように対応しています。

svn: r60842 2017-11-19 03:05:40 +0900

version.h の日付更新。

normal: r60843 2017-11-19 06:57:38 +0900

r60841 でチェックするようにした定数マクロ SHF_COMPRESSED が古い glibc では未定義とのことで addr2line.c に未定義の時の独自定義を追加しています。

normal: r60844 2017-11-19 07:45:11 +0900

File.truncate および File#truncate で呼ばれている truncate(2) や chsize() などの関数の呼び出し時に GVL を解放するようにしています。 chsize() なんて知らなかったなぁ。

normal: r60845 2017-11-19 14:03:17 +0900

遅い filesystem 向けの対応で readlink(2) を呼び出す時も GVL 解放するようにしています。

normal: r60846 2017-11-19 14:03:22 +0900

r60844 の truncate(2) などのシステムコール呼び出し時に GVL を解放する処理で警告除去のための明示的な cast を追加しています。

normal: r60847 2017-11-19 14:23:48 +0900

File.mkfifo で mode 変数の型を int から mode_t に変更しています。

nobu: r60848 2017-11-19 16:07:42 +0900

vm_core.h で定義していた ENABLE_VM_OBJSPACE マクロの定義を gc.c に移動しています。なるほど gc.c でしか参照していませんね。