From: Yusuke ENDOH Date: 2010-05-29T23:11:42+09:00 Subject: [ruby-dev:41458] Re: [Feature #3203] LazySweepGC patch 遠藤です。 2010年5月29日18:28 Tanaka Akira : > 思い立って、GC.stress を true にしてテストを動かしてみました。 ということを考えると、テストフレームワークは極限まで単純な方がいいですねえ。 > % ./ruby -e 'GC.stress = true; load "test/runner.rb"' test/cgi *snip* > > lazy sweep 以前からあった問題かも知れませんけれど。 これに関しては、lazy sweep 以前からあった問題のようです。 diff --git a/string.c b/string.c index f2f49ab..ae42893 100644 --- a/string.c +++ b/string.c @@ -613,8 +613,8 @@ str_replace_shared(VALUE str2, VALUE str) STR_SET_EMBED_LEN(str2, RSTRING_LEN(str)); } else { - FL_SET(str2, STR_NOEMBED); str = rb_str_new_frozen(str); + FL_SET(str2, STR_NOEMBED); RSTRING(str2)->as.heap.len = RSTRING_LEN(str); RSTRING(str2)->as.heap.ptr = RSTRING_PTR(str); RSTRING(str2)->as.heap.aux.shared = str; -- Yusuke Endoh