ruby-trunk-changes 2021-02-05

今日は拡張ライブラリ io/console のテストの JRuby 対応や Ractor 化による GVL 解放処理の不具合修正などがありました。

[b79d443482] ima1zumi 2021-02-04 10:59:40 UTC

標準添付ライブラリ irb の gemspec ファイルの spec.files に lib/irb/cmd/info.rb が漏れてたので追加しています。

[75b96c3a05] Aaron Patterson 2021-02-04 00:17:28 UTC

rb_gc_register_mark_object() の最初に渡された VALUE がオブジェクト用の heap 内へのポインタじゃなかった時に無視する条件分岐を追加しています。 33d6e92e0c6eaf1308ce7108e653c53bb5fb106c() で rb_define_const() から呼ばれるようになったのでその影響で即値が渡された時にも呼ばれるのでそういうのを弾く必要ができたみたいです。ふーむ、なるほど。

[365326a09e] git 2021-02-04 17:49:21 UTC

version.h の日付更新

[3a888398a6] Jean Boussier 2021-01-21 08:45:11 UTC

ObjectSpace.dump で T_CLASS, T_MODULE のオブジェクトをダンプした時に特異クラスかどうかの情報の表示とクラス名の表示を追加しています。

[fcdccbff01] Nobuyoshi Nakada 2021-02-05 00:55:20 UTC

GitHub Actions の macOS 版で tool/travis_retry.sh というツール経由で brew コマンドの実行をリトライさせてたのをもう不要ということで直接 brew 実行するようにしています。

[9ef7780b09] Nobuyoshi Nakada 2021-01-29 03:49:00 UTC

拡張ライブラリ io/console のテストで assert_separately と assert_operator を使ってたところを assert_ruby_status を使ってエラー時は子プロセス部分で Kernel#abort で異常終了させるようにしています。

[8960d6b5bd] Charles Oliver Nutter 2021-02-03 20:51:02 UTC

拡張ライブラリ io/console のテストで $LOADED_FEATURES から io/console/xxx.rb が既に存在してないかチェックしてるところで io/ 直下の io/console.rb にもマッチするように修正? しています。

[2a764fe764] Charles Oliver Nutter 2021-02-03 23:30:00 UTC

拡張ライブラリ io/console のテストで JRuby で通らないものを RUBY_ENGINE で判定してスキップするようにしています。

[a1cc044ea1] Charles Oliver Nutter 2021-02-04 21:03:12 UTC

拡張ライブラリ io/console のテストで skip のかわりに omit を利用するようにしています。

[abf71864a5] Charles Oliver Nutter 2021-02-04 21:03:45 UTC

2a764fe7644f839cec445d3467303543ad7a087b で io/console のテスト test_cursor_position で JRuby ではスキップするようにしてましたが、そこで使われてる run_pty というユーティリティメソッド内で pend で実行しないように変更しています。

[0acc05caf7] Nobuyoshi Nakada 2021-02-01 23:33:08 UTC

configure でコンパイラオプションの -fdeclspec というのが使えたら追加するのを CC/MJIT_CC に直接追加してたのを CFLAGS および CXXFLAGS に追加するように変更しています。

[7baedeffe9] Nobuyoshi Nakada 2021-01-28 12:00:37 UTC

標準添付ライブラリ mkmf の egrep_cpp メソッドのテストを追加しています。

[b2674c1fd7] Koichi Sasada 2021-02-05 06:30:53 UTC

rb_nogvl() で引数に独自の ubf (un-blocking function)が渡された時に、GVL 解放してコールバック関数を実行する前に ubf 用の native thread を作成する条件を main Ractor の main thread から呼ばれた時だけにしています。