ruby-trunk-changes 2019-08-07

今日は最適化命令 opt_plus も MJIT の inline 化対象にする変更や Float::ROUNDS という定数を deprecated にする変更などがありました。

[b5146e375a] 卜部昌平 2019-08-06 03:56:18 UTC

346aa557b31fe96760e505d30da26eb7a846bac9 で opt_eq, opt_neq を leaf=true にしたのと同様に opt_plus も引数の型チェックを追加して leaf=true にして MJIT で inline 化できるようにしています。 https://github.com/ruby/ruby/pull/2321

[3e6b9926b7] git 2019-08-06 11:59:41 UTC

b5146e375aca25a15ec46978711cde28e5f761d6 のインデントのタブを空白に展開。

[a04e3585d3] Nobuyoshi Nakada 2019-08-06 14:00:29 UTC

ObjectSpace::WeakMap のメソッド実装で頻出する is_id_value() と is_live_object() のチェックを wmap_live_p() という static 関数に切り出すリファクタリング

[0ed298f382] Nobuyoshi Nakada 2019-08-06 14:39:14 UTC

time.c で Time#to_r の実装で整数化されてしまうのを防ぐように quov() から quor() という関数を切り出してこちらを使うようにしています。

[e89d9f3deb] Nobuyoshi Nakada 2019-08-06 15:02:21 UTC

Float::ROUNDS という丸めの方法を表す定数を deprecated にしています。こんな定数あったんだ……。 [ruby-core:94139] [Bug #16044]

[66a13413ee] git 2019-08-06 15:07:06 UTC

version.h の日付更新

[2d6b92c5f6] Takashi Kokubun 2019-08-06 16:26:02 UTC

.travis.yml で apt-get の source 追加にも addon を使わずに自前で apt-add-repository コマンドを呼びリトライ対応するようにしています。

[ef8c5161b4] Yusuke Endoh 2019-08-06 18:12:10 UTC

拡張ライブラリ ripper の Ripper::Lexer::State#| メソッドが誤って & メソッドと同じ定義になってたので修正しています。

[8877dbe400] Yusuke Endoh 2019-08-06 18:13:17 UTC

拡張ライブラリ ripper の Ripper::Lexer で配列への追加に Array#<< を使ってたところを push メソッドに変更しています。 consistency のためとのことなので ripper の他のところでは push だからそろえたってことですね。

[b839721ae7] Kazuhiro NISHIYAMA 2019-08-07 00:03:08 UTC

2d6b92c5f6b6343f34bb363604339f4bd7b951ac の .travis.yml での apt-add-repository コマンドのリトライの自前実装でコマンドの終了ステータスのチェックを "=" でなく "-eq" でチェックするようにしています。

[a0fe396555] Takashi Kokubun 2019-08-07 00:39:46 UTC

2d6b92c5f6b6343f34bb363604339f4bd7b951ac の .travis.yml での apt-add-repository のリトライ処理を if 文つかわないように書きかえています。

[1bf796c69d] Nobuyoshi Nakada 2019-08-06 23:57:22 UTC

拡張ライブラリ date の Date#step のテストで引数の limit になんか謎の整数を渡してたのを Date オブジェクトを渡すように修正しています。元のテストはいったい何をしてたんだろ。よく意図がわからない。

[e6901cea74] Nobuyoshi Nakada 2019-08-07 01:41:12 UTC

rubygems の Gem::BasicSpecification.default_specifications_dir の deprecated warning で代替として提示しているのが同じメソッドだったので、Gem.default_specifications_dir を提示するように修正しています。