ruby-trunk-changes r64142 - r64156

今日は make test-all が MJIT のテストがヘッダが install 済みであることを前提にしている問題の対策などがありました。

hsbt: r64142 2018-07-31 21:25:24 +0900

r64141 の thwait の gemspec ファイルの移動に tool/sync_default_gems.rb も追随しています。

k0kubun: r64143 2018-07-31 21:43:06 +0900

r64103 と r64104 の make test-all を install に依存させる変更をしましたが make install は root 権限が必要な場合があって make test-all は通常ユーザーで実行するというような場合だとエラーになるので、やめています。かわりに MJIT_SEARCH_BUILD_DIR という環境変数が設定されている場合は mjit 用のヘッダの探索にビルドディレクトリのものも使うようにして、これで install せずに make test-all できるようにしています。

k0kubun: r64144 2018-07-31 21:55:28 +0900

r64138 でも弄ってた tool/transform_mjit_header.rb の関数名を切り出す正規表現 FUNC_HEADER_REGEXP をさらに行頭に戻り値の型がある記法も許容するように? しています。

hsbt: r64145 2018-07-31 21:56:17 +0900

default gem 化しか各標準添付ライブラリ の gemspec ファイルでバージョンの取得のための version.rb の require を、相対パスで lib/ の下にある(リポジトリ内の構成)のものも試すようにしています。

nobu: r64150 2018-08-01 00:02:31 +0900

r64143 の Makefile.in での mjit_config.h にビルドディレクトリを埋め込むための書きかたが GNU make に依存していたとのことで、簡易な書きかたに修正しています。

svn: r64151 2018-08-01 00:02:32 +0900

version.h の日付更新。

kazu: r64152 2018-08-01 00:20:54 +0900

addr2line.c の kprintf() の宣言に PRINTF_ARGS() というマクロを使ってフォーマット指示子を使った引数のチェックを(できるコンパイラでは)してもらうようにしています。

kazu: r64153 2018-08-01 00:20:55 +0900

r64145 の各 .gemspec ファイルの require_relative の upstream と ruby 内の両構成対応の変更で thwait のものだけコメントがなかったので追加しています。

nobu: r64154 2018-08-01 02:11:00 +0900

README.ja.md に Travis-CI と Appveyor の CI へのリンクを追加しています。 https://github.com/ruby/ruby/pull/1923

shyouhei: r64155 2018-08-01 11:55:11 +0900

ruby_atomic.h のマクロ定義群に可読性のために適宜空行を追加しています。

shyouhei: r64156 2018-08-01 12:40:37 +0900

mjit.c で定義されていた MJIT_ATOMIC_SET() というマクロは Windows 版のときに InterlockedExchangePointer() を使った実装をする以外は ATOMIC_SET() を利用していたので、ruby_atomic.h にこの InterlockedExchangePointer() を使った実装を移植して、ATOMIC_PTR_EXCHANGE() を使うようにしています。というか ATOMIC_SET() を使ってたら Windows で警告が出るからということで r62193 で InterlockedExchangePointer() を使う MJIT_ATOMIC_SET() を定義してましたが、この引数に ATOMIC_SET() を使うのが間違いで ATOMIC_PTR_EXCHANGE() を使うべきだった(が当時 Windows 版の InterlockedExchangePointer() を使った実装がなかった)ということみたいですね。