ruby-trunk-changes 2021-05-04

今日はオブジェクト生成時のインスタンス変数用インデックステーブルの初期化を前倒しにする最適化やテストの修正などがありました。

[14ee263505] Nobuyoshi Nakada 2021-05-03 15:59:29 UTC

標準添付ライブラリ net/http のテストで TLS を使うもので mswin と MinGW で失敗するものを一時的に skip するようにしています。

[a6ff1dc6f9] git 2021-05-03 16:00:57 UTC

version.h の日付更新

[9a6226c61e] Aaron Patterson 2021-02-23 00:18:10 UTC

オブジェクトの確保時にインスタンス変数のインデックステーブルのサイズが埋め込みでは足りない時にオブジェクト生成時に同時に生成するようにしています。後で initialize の実行時にあふれて確保しなおすのよりこのほうが効率的だから、ということみたいです。ベンチマークも追加されてるけど、そんなに変わるのかな。と思ったけど速度よりはメモリ使用量を気にした最適化みたいでした。 https://github.com/ruby/ruby/pull/4216

[5a42ef496a] MSP-Greg 2021-04-28 15:55:55 UTC

標準添付ライブラリ net/http のテストでドメイン名に "localhost" や " 127.0.0.1" を使ってたところが Windows でうまくいかないことがあるようで定数を定義してこれを参照するようにしています。どこかで環境によってすりかえているのかなと思ったけど、差分のなかにはそういうところはないですね。たぶん本命の修正はこの次の 7a3dd05e21078ccc62c70a5047fcf6c128754fc7 で、この変更はついでのリファクタリングかなという気がします。

[7a3dd05e21] MSP-Greg 2021-04-28 17:26:01 UTC

rubyspec の標準添付ライブラリ net/http のテストで起動する WEBrick のサーバーのための設定で :BindAddress を 127.0.0.1IPv4 決め打ちにしていたのを localhost に変更しています。Windows でのテストのためとのこと。けどなんかここわざと IPv4 にしてたんだったような気もするんだよなぁ。 e7535c6eaa87813d6ce6591c200f1fce7ee16ae2 これなのでだいぶ昔のことですね。

[ef406a6c21] Nobuyoshi Nakada 2021-05-04 01:08:23 UTC

thread_win32.c の native_thread_init_stack() で MinGWGCC 11 で未初期化変数の警告が出るのを抑制するため VirtualQuery() という API の呼び出しを局所的に -Wmaybe-uninitialized の警告をオフにする pragma つきで定義した inline 関数でくるんで呼ぶようにしています。

[113ddf4d1d] Yusuke Endoh 2021-05-04 10:03:26 UTC

標準添付ライブラリ net/imap のテストで Solaris 上の CI でエラーになってたのを回避するため、ダミーサーバー上で socket を close する前に sleep 0.1 を追加して少し間をあけるようにしています。 [ruby-core:78550] [Bug #13018]