ruby-trunk-changes r66805 - r66820

今日は MJIT の実行時コンパイルのためのコンパイラオプションの修正や RubyVM::AbstractSyntaxTree::Node#children の不具合修正などがありました。

nobu: r66805 2019-01-13 22:16:55 +0900

common.mk で rdoc コマンド起動時のコマンドや共通したオプションを RDOC および RDOC_GEN_OPTS という変数に定義しておくリファクタリング

nobu: r66806 2019-01-13 22:16:56 +0900

標準添付ライブラリ rdoc でデフォルトで無視するファイルのパターンとして各種エディタのバックアップファイルなどを自動で追加するようにしています。

nobu: r66807 2019-01-13 22:41:36 +0900

r66806 の変更で rdoc のテストが失敗してたので追随してテストも変更しています。

nobu: r66808 2019-01-13 22:49:25 +0900

r66806 に追加して .gemspec 拡張子のファイルも無視するパターンに追加するようにしています。
[ruby-core:91067] [Bug #15531]

k0kubun: r66809 2019-01-14 13:49:28 +0900

r66597 の VM 実装のリファクタリングでちょっと遅くなってたそうでいくつかの関数に inline 修飾子をつけて inline 化させるようにしています。

svn: r66810 2019-01-14 13:49:32 +0900

version.h の日付更新。

k0kubun: r66811 2019-01-14 14:50:13 +0900

MJIT が起動するコンパイラオプションに -lmsvcrt や -lgcc を追加する preprocessor 分岐の条件がネストしていたのを展開してフラットにしています。

k0kubun: r66812 2019-01-14 15:18:53 +0900

r66811 で変更してた MJIT のコンパイラオプションに -lgcc を渡すようにしてるところの再修正。やっぱりネストさせて gcc 利用時には Windows 以外でも常に -lgcc を渡すようにしているようです。 [ruby-core:90986] [Bug #15522]

k0kubun: r66816 2019-01-14 15:45:24 +0900

r66812 の変更によって AIX で MJIT で -nodefaultlibs および -nostdlib というコンパイラオプションを渡しても大丈夫になってるはずなので preprocessor の分岐で AIX では消してたのを消さないようにしています。

k0kubun: r66817 2019-01-14 16:28:34 +0900

r66811 から続く一連の変更の続き。 MJIT の実行時コンパイルコンパイラオプション -nodefaultlibs および -nostdlib を渡すかどうかを GCC_NOSTDLIB_FLAGS というマクロで定義しておいて使いまわすようにしています。 precompiled header の生成時に使うオプションにも追加するようにしています。 Gentoogcc を使った時に MJIT の実行時コンパイルがエラーになる問題の対処だそうです。 [ruby-dev:50746] [Bug #15513]

nobu: r66819 2019-01-14 19:16:54 +0900

RubyVM::AbstractSyntaxTree::Node#children などで式展開つきの文字列リテラルの Node を配列に詰める時にリテラル部分の要素を詰め忘れていたのを修正しています。 [Bug #15532]

nagachika: r66820 2019-01-14 20:04:52 +0900

bugs.ruby-lang.org の Redmine が更新された為に tool/redmine-backporter.rb で revision の確認に使っていたエンドポイントの path が変化したのに追随しています。