ruby-trunk-changes 2021-10-22

今日は標準添付ライブラリのバージョン更新や YJIT の OpenBSD での無効化、標準添付ライブラリ uriURI::HTTP での新規メソッド追加などがありました。

[8eb8522f47] Hiroshi SHIBATA 2021-10-21 11:46:40 UTC

拡張ライブラリ stringio のバージョンを 3.0.1 に更新しています。

[7529fe82f0] Hiroshi SHIBATA 2021-10-21 11:20:20 UTC

拡張ライブラリ io/wait の gemspec ファイルでバージョン番号を 0.2.0 に更新しています。

[422b057d65] Hiroshi SHIBATA 2021-10-21 04:54:31 UTC

標準添付ライブラリ ostruct のバージョンを 0.5.0 に更新しています。

[8ef125c838] Hiroshi SHIBATA 2021-10-21 06:53:55 UTC

標準添付ライブラリ uriURI::VERSION_CODE という定数を "001100" に更新しています。バージョン 0.11.0 を意味してるみたいです。なんかちょっと変わった指定方法ですね。

[cc2f76041d] Hiroshi SHIBATA 2021-10-21 10:57:29 UTC

標準添付ライブラリ net/protocol のバージョンを 0.1.2 に更新しています。

[cb4c98f949] Hiroshi SHIBATA 2021-10-21 11:06:05 UTC

標準添付ライブラリ net/http のバージョンを 0.2.0 に更新しています。

[b8d49d0d01] Hiroshi SHIBATA 2021-10-21 11:38:56 UTC

標準添付ライブラリ optparse のバージョンを 0.2.0 に更新しています。

[aca0dcc5f9] Hiroshi SHIBATA 2021-10-21 06:26:58 UTC

標準添付ライブラリ rinda のバージョンを 0.1.1 に更新しています。

[9f398d023b] Hiroshi SHIBATA 2021-10-21 11:08:26 UTC

標準添付ライブラリ securerandom のバージョンを 0.1.1 に更新しています。

[ba3c2593ab] Hiroshi SHIBATA 2021-10-21 06:03:42 UTC

標準添付ライブラリ pp のバージョンを 0.2.1 に更新しています。

[eac7a71062] Hiroshi SHIBATA 2021-10-21 05:57:19 UTC

標準添付ライブラリ prettyprint のバージョンを 0.1.1 に更新しています。

[03fd60937d] Hiroshi SHIBATA 2021-10-21 12:07:23 UTC

NEWS の default gems のバージョン更新のセクションを更新しています。

[c5345979e8] Hiroshi SHIBATA 2021-10-21 12:16:51 UTC

拡張ライブラリ readline のバージョンを 0.1.3 に更新しています。

[d74f1e1623] Hiroshi SHIBATA 2021-10-21 12:19:16 UTC

NEWS の default gems のバージョン更新のセクションの readline の項目を更新しています。

[119626da94] Jeremy Evans 2021-10-21 15:02:28 UTC

YJIT で利用している mmpa() の mode の指定が OpenBSD では許可されていないため使えないので OpenBSD ではコマンドラインで指定しても YJIT は有効にできないようにしています。 [ruby-core:105737] [Bug #18260]

[ad1f7f2a8e] git 2021-10-21 15:28:26 UTC

version.h の日付更新

[32a8cb965c] Maxime Chevalier-Boisvert 2021-10-21 16:49:58 UTC

NEWS に Shopify の YJIT についてのブログポストへのリンクを追加しています。

[d0cad8ad83] Justin Searls 2021-10-21 16:58:51 UTC

bundler が bundle gem で生成する gem のテンプレートの standard.yml で default_ignores: false という設定を入れるようにしていたのを削っています。明示的な設定のないルールは無効にするようにしたということでしょうかね。

[bdfc23cba9] Alan Wu 2021-10-21 19:07:32 UTC

YJIT で TracePoint で c_call/c_return イベントのフックが有効になっている状態でのメソッド呼び出しを JIT コンパイルしないようにしているようです。コミットログによると attr_xxx で定義されたメソッドの場合の対応とのことなので通常のメソッドは対応済みで attr_xxx のメソッドは対応してなかったのでその追加のようです。 2d98593bf54a37397c6e4886ccc7e3654c2eaf85 でこれらのメソッドが TracePoint のイベントを発火しないのを修正したので、その追随にあたるようです。

[844588f915] Aaron Patterson 2021-10-21 20:27:56 UTC

gc.c の gc_compact() の先頭でシステムのページサイズを取得して HEAP_PAGE_SIZE がページサイズの整数倍になってるかチェックしていたのを、その直後に呼ぶ gc_start_internal() の中に移動しています。 compact のために gc_start_internal() を呼ぶ経路は他にもあるので、コミットログを読んだ感じだと gc_verify_compaction_references() 経由(GC.verify_compaction_references メソッド呼び出し)の時にも page alignment をチェックするためみたいですね。

[6469038ae2] Takashi Kokubun 2021-10-22 03:41:13 UTC

YJIT と MJIT は同時に利用できないので、コマンドラインオプションで --enable=all で全 feature 有効にする指定があった時には YJIT と MJIT のフラグは排他的にしないといけなくて、デフォルトでは YJIT のほうを有効にするのですが、MJIT_FORCE_ENABLE マクロが定義されている時には YJIT を無効にするように変更しています。

[4446942f1a] Nobuyoshi Nakada 2021-10-21 12:52:17 UTC

pack.c の繰り返される memcpy() とポインタのインクリメントを UNPACK_FETCH() というマクロにして共通化するリファクタリング

[9f4f3bd1cc] Nobuyoshi Nakada 2021-10-22 04:53:21 UTC

6606597109bdb535a150606323ce3d8f5750e1f6 で Refinements の Module#refine 内での include や prepend が deprecated 警告を出すようになったのに対応して rubyspec の refinements のテストの一部を 3.0 以前でのみ実施するようにしています。

[598382f686] Koichi Sasada 2021-10-22 05:43:27 UTC

bundled gems の debug のバージョンを 1.3.1 に更新しています。

[22a7f7ec5a] Nobuyoshi Nakada 2021-10-22 04:53:21 UTC

9f4f3bd1cce879d1de906b332353e5e9c051df00 と同様に rubyspec の Refinements と super についてのテストも 3.0 以前でのみ実施するようにしています。

[93691d0752] Hiroshi SHIBATA 2021-10-22 04:04:42 UTC

拡張ライブラリ bigdecimal のバージョンを 3.1.0.dev に更新し、不要な add_development_dependency を削除し required_ruby_version を 2.5.0 以降に変更しています。

[aee4940d5e] Nobuyoshi Nakada 2021-10-22 08:08:44 UTC

GitHub Actions の YJIT の macOS でのテスト用 workflow の matrix から --yjit-call-threshold を変えて実行するものを削って実行回数を減らしています。

[c8ad024e8e] Olle Jonsson 2021-10-06 11:49:33 UTC

標準添付ライブラリ delegate の gemspec ファイルの不要な spec.bindir と spec.executables の設定を削除しています。

[553f234a07] Tiago 2021-09-20 21:53:42 UTC

標準添付ライブラリ uriURI::HTTP#authority と URI::HTTP#origin というメソッドを追加しています。authority はドメインと port 番号を合わせた部分で、origin はさらに schema を含んだ部分を返すようです。

[d09cb64ae5] rm155 2021-08-06 01:14:36 UTC

標準添付ライブラリ mutex_m の Mutext_m::VERSION 定数を Ractor.make_shareable で Ractor 間で共有可能にしています。なんでだろ。