ruby-trunk-changes r62765 - r62777

今日は標準添付ライブラリ uri に file schema 用の実装の追加や先日の ISeq の operand の GC mark 処理変更の revert などがありました。

nobu: r62765 2018-03-16 00:20:08 +0900

configure.ac で gcc の CAS (compare and swap)のビルトイン関数をチェックするところを移動してシンプルに書きなおしています。コミットログによると AC_CACHE_CHECK() で同じ変数で繰り返し使っているのがまずくて誤検出する可能性があったみたいで、違う部分だけ AS_IF() に残して1つの AC_CACHE_CHECK() にまとめるようにしています。

svn: r62766 2018-03-16 00:20:08 +0900

version.h の日付更新。

naruse: r62767 2018-03-16 01:51:31 +0900

標準添付ライブラリ uri で file schema 用の URI::File というクラスが導入されています。 チケットのほうをみると "file:///..." の時のコロンのあとのスラッシュの数が URI#to_s で正規化されて 1つになってしまうという file schema で慣習的に(?)通常と異なる扱いを再現させるようにしているみたいです。 https://github.com/ruby/ruby/pull/1719 https://github.com/ruby/ruby/pull/1832 [ruby-core:83423] [Feature #14035]

svn: r62768 2018-03-16 01:51:32 +0900

r62767 の新規追加ファイルの svn property 設定。

naruse: r62769 2018-03-16 01:51:34 +0900

r62617 の ISeq のバイナリフォーマットからのロードの修正を revert。 Solaris 上の CI でエラーになっていたそうです。

nobu: r62770 2018-03-16 10:48:02 +0900

configure.ac で DLDFLAGS に LDFLAGS をコピーするのを target_cpu に依存したフラグ追加の前に移動しています。mjit_header.h の生成のためみたいですね。

nobu: r62771 2018-03-16 11:07:43 +0900

rb_mjit_header.h の生成ルールで再生成を制御するためのタイムスタンプファイルへの依存関係を common.mk の記述から defs/gmake.mk の各 arch 毎に生成するルールに展開するようにしています。Universal Binary 向けかな。

nobu: r62772 2018-03-16 11:27:50 +0900

r62769 で revert された r62617 のリベンジ。 ISeq のバイナリフォーマットからのロードで realpath が nil になる可能性があったのに対処しています。 r59709 の変更の追随とのこと。

naruse: r62773 2018-03-16 16:59:08 +0900

r62709 を revert しています。ここから 3つ revert が続きますが、r62706 の ISeq からの operand の GC mark を直接するようにする変更が ARMv7 での CI でエラーになるようになってたみたいなので、r62709 とそれに追加されたコミットを逆順に revert していってます。

naruse: r62774 2018-03-16 16:59:09 +0900

r62708 を revert しています。

naruse: r62775 2018-03-16 16:59:10 +0900

r62706 の ISeq の operand の GC mark の実装変更を revert しています。 Debiani686-linux と armv7l-linux-eabihf での CI で SEGV が発生していたとのこと。

nobu: r62776 2018-03-16 21:06:55 +0900

RubyVM::InstructionSequence#to_binary のテストが coverage 有効時にエラーになるので捕捉して skip するようにしています。

nobu: r62777 2018-03-16 21:22:33 +0900

ISeq のバイナリフォーマットからのロードが Solaris 11 で SEGV するのをテストするため sparc でのみ有効になるデバッグメッセージを追加しています。r62772 でリベンジしたけどまだ SEGV するようですね。