ruby-trunk-changes 2023-09-06

今日は拡張ライブラリ openssl の更新や yarp の修正、WeakMap/WeakKeyMap の不具合修正などがありました。

[ef65183692] Peter Zhu 2023-09-05 13:27:11 UTC

bfb395c620b811b4b3cb7d535d58721268af285d で追加した rb_gc_mark_weak() で T_NONE 型のオブジェクトが来てしまった時にデバッグ用の出力をして異常終了するようにしています。

[d83b5ea09d] Stan Lo 2023-09-05 13:42:15 UTC

irb のバージョンを 1.8.1 に更新しています。 https://github.com/ruby/irb/pull/706

[dbe9b8520f] git 2023-09-05 13:43:51 UTC

NEWS の default gems のバージョンリストの irb のバージョンも更新しています。

[e1713fa6a3] Nobuyoshi Nakada 2023-09-04 12:57:34 UTC

yarp のビルドプロセスの修正。

[89a4fd6745] Nobuyoshi Nakada 2023-09-04 14:50:10 UTC

yarp のビルドプロセスの修正続き。

[790df7d383] Kevin Newton 2023-09-05 14:23:54 UTC

yarp のビルドプロセスの修正続き。

[7a930cf0e4] Peter Zhu 2023-08-18 13:56:46 UTC

GC の sweep 時に空き slot が充分になかったら heap 毎に page を追加するようにしています。 Variable Width Allocation 対応の一環かな?

[ab9d1910ef] Peter Zhu 2023-09-01 17:22:37 UTC

構造体 struct heap_page の flags メンバー内のメンバー名に RGenGC の WB-unprotected なオブジェクトを指す shady という名称を含む has_uncollectible_shady_objects というのがまだ残ってたので has_uncollectible_wb_unprotected_objects に改名しています。

[88b25294b0] Nobuyoshi Nakada 2023-09-05 16:23:35 UTC

yarp/defines.h の snprintf をマクロ定義する条件を snprintf が未定義の時だけにしています。

[a17a1cd535] Burdette Lamar 2023-09-05 16:53:11 UTC

Process.kill の rdoc 用コメントのシグナルのリストを消しています。 https://github.com/ruby/ruby/pull/8370

[06a1d16dc2] Peter Zhu 2023-09-05 17:34:41 UTC

WeakMap の実装で key, value のペアを格納するためのメモリ領域を可能なら再利用して不要なメモリ確保を抑制するようにしています。

[9a8398a18f] Peter Zhu 2023-09-05 17:34:46 UTC

rb_gc_remove_weak() という関数を追加して WeakMap の実装からエントリ削除する時に key と value の参照を削除するようにしています。 rb_gc_mark_weak() を使った実装にした時に use-after-free の異常終了が起きる可能性があったみたいです。

[6c4df555fd] Alan Wu 2023-09-05 18:46:44 UTC

YJIT の Rust 実装で linter の clippy の設定を変更しています。自動生成されたコードの警告抑制のためみたいです。

[abd0b9b28a] Nobuyoshi Nakada 2023-09-06 05:06:26 UTC

configure でコンパイラの警告をエラーにするオプションのチェックから -Werror=misleading-indentation ははずして、別途 -save-temps というオプションの指定があるかどうかチェックしてついてたら外すようにしています。

[779cab6655] Nobuyoshi Nakada 2023-09-06 08:46:36 UTC

hash.c の不要な変数の削除と不要な assertion の削除。

[912f1cda0d] Kazuki Yamaguchi 2023-08-31 12:34:50 UTC

拡張ライブラリ openssl でコンパイル時に OSSL_DEBUG マクロを定義した時にデバッグ用のメソッド群 OpenSSL.mem_check_start/OpenSSL.print_mem_leaks を定義するようにしていたのを削除しています。

[4a042b2255] Mau Magnaguagno 2022-12-26 11:35:54 UTC

拡張ライブラリ openssl の OpenSSL::Buffering のリファクタリング

[b6d7cdc2ba] Kazuki Yamaguchi 2023-08-29 10:46:02 UTC

拡張ライブラリ openssl で OpenSSL::SSL::SSLContext#tmp_dh_callback のデフォルトの挙動で使う DH鍵を変更しています。よくわからないですがより良い(どういう意味でかはわかりませんが)バージョンを使うようにしているということかな。

[60a6de81a8] Mau Magnaguagno 2023-08-31 06:38:45 UTC

拡張ライブラリ openssl のテストで String#unpack のかわりに String#unpack1 を使うようにリファクタリングしています。

[9b6128c541] Petrik 2023-08-31 13:14:18 UTC

拡張ライブラリ openssl の OpenSSL::OCSP モジュールの rdoc 用コメントのサンプルコードの typo 修正。

[98d8f6128e] Kazuki Yamaguchi 2023-08-31 05:12:57 UTC

拡張ライブラリ openssl のテストに OpenSSL::X509::ExtensionFactory のテストケースを追加しています。

[91e5f51607] Michael Richardson 2017-08-27 00:09:38 UTC

拡張ライブラリ openssl の OpenSSL::X509::ExtensionFactory#create_ext の引数のサポートする形式を拡張しているようです。

[1d4a43e7b0] Kazuki Yamaguchi 2023-08-31 05:58:14 UTC

拡張ライブラリ openssl のテストでエラーメッセージのチェックを緩めています。

[3fd90c0158] Kazuki Yamaguchi 2023-08-29 15:02:37 UTC

拡張ライブラリ openssl のテストで OpenSSL::PKey::EC.builtin_curves についてのテストメソッドを分離するリファクタリング

[5ba480e4ea] Kazuki Yamaguchi 2023-08-29 09:26:19 UTC

拡張ライブラリ openssl のテストの test/openssl/utils.rb から core_assertions を require するのに require_relative でなく require を利用するように修正しています。