ruby-trunk-changes r67459 - r67465

今日は一時的なメモリ確保に使う関数の潜在的メモリリークの修正などがありました。

nobu: r67459 2019-04-06 22:21:18 +0900

GC 可能な一時文字列バッファを確保するための関数 rb_imemo_tmpbuf_auto_free_pointer_new_from_an_RString() で、ruby_xmalloc() でバッファ確保してから rb_imemo_tmpbuf_auto_free_pointer() を呼んでいたので、ここで大域脱出が発生するとメモリリークする可能性があったので、先に rb_imemo_tmpbuf_auto_free_pointer() で T_IMEMO 型オブジェクトを確保しておいてからメモリ領域を確保してポインタをセットするように修正しています。

k0kubun: r67460 2019-04-06 23:42:02 +0900

VM の debug counters に mjit_exec() 内の処理の出入りのカウンタを追加しています。

k0kubun: r67461 2019-04-07 01:03:11 +0900

tool/ruby_vm/views/_mjit_compile_send.erb のコメントの typo 修正。

svn: r67462 2019-04-07 01:03:14 +0900

version.h の日付更新。

k0kubun: r67463 2019-04-07 17:18:09 +0900

標準添付ライブラリ rinda のテストでタイムアウトエラーが発生した時のデバッグ用のメッセージ出力を追加。バックトレースを出してどこで止まってるのか突き止めるようにしています。

nobu: r67464 2019-04-07 20:14:06 +0900

obj_memsize_of() で T_RATIONAL と T_COMPLEX の時に T_IMEMO の処理に fallthrough しちゃってたので break 文を追加しています。2年くらい前に T_IMEMO 型の時に処理が追加された時からこうだったみたいですね。 imemo_type_p() で偽になるから実害なかったのかな。

eregon: r67465 2019-04-07 20:26:27 +0900

doc/signals.rdoc のシグナルを処理する Thread についての表記をちょっと修正しています。