[b16f44ad4f] Nobuyoshi Nakada 2022-07-05 15:57:59 UTC
gc.c の rb_raw_obj_info() で rb_raw_obj_info() を利用するようにして rb_obj_info() による C の文字列リテラルを返すのを利用しないようにしています。なんでだろ。
[fbe3651466] Nobuyoshi Nakada 2022-07-05 13:22:45 UTC
gc.c で asan_poisoned_object_p() + asan_unpoison_object() の呼び出しのペアを asan_unpoison_object_temporary() という関数の呼び出しにまとめるリファクタリング。
[51025a9013] Nobuyoshi Nakada 2022-07-05 13:39:08 UTC
gc.c の rb_raw_iseq_info() や rb_raw_obj_info() の引数 buff_size の型を int から size_t に変更しています。
[2bf0313561] Nobuyoshi Nakada 2022-07-05 13:55:27 UTC
gc.c のオブジェクトのデバッグ情報を出力するために使う APPENDF() マクロの引数を可変長引数にしてフォーマット文字列を受け取って引数を埋め込めるようにしています。
[a006dcb73f] Nobuyoshi Nakada 2022-07-05 15:59:23 UTC
2bf0313561304506cf3cceba6ef4c66a6f2c09b0 で APPEND_F() がフォーマット文字列を受付けるようになったので、元の APPEND_F() に相当するマクロを APPEND_S() として追加して、埋め込みが不要な箇所ではこちらを利用するようにしています。
[233054a609] Nobuyoshi Nakada 2022-07-06 15:28:45 UTC
gc.c のオブジェクトの情報をダンプする時のバッファ管理の変数 obj_info_buffers_index を rb_atomic_t 型にして RUBY_ATOMIC_CAS() などを利用して並列処理を考慮するようにしています。 複数 Ractor 間での並用のため?
[ec303e49af] Nobuyoshi Nakada 2022-07-05 15:23:49 UTC
gc.c の rb_raw_obj_info() の内容を rb_raw_obj_info_common() と rb_raw_obj_info_buitin_type() という 2つの関数に分割するリファクタリング。
[b1b8172328] Nobuyoshi Nakada 2022-07-06 00:39:04 UTC
gc.c の rb_raw_obj_info() で asan_unpoison_object_temporary() と asan_poison_object() で ASAN 対策してメモリを触る処理をまとめてブロックのように書けるマクロ asan_unpoisoning_object() を追加しています。
[072a8bf760] git 2022-07-10 07:38:41 UTC
version.h の日付更新
[ec09ba58d1] Nobuyoshi Nakada 2022-07-10 08:56:36 UTC
gc.c の obj_info_buffers_index を最大値の制限つきで atomic に加算する処理を atomic_inc_wraparound() という関数に切り出すリファクタリング。