[#46184] [ruby-trunk - Bug #7095][Open] Non-recursive marking — "authorNari (Narihiro Nakamura)" <authorNari@...>
6 messages
2012/10/01
[#46189] [ruby-trunk - Bug #7100][Open] WEBrick::HTTPServer.new で BindAddress を指定しない場合に必ず警告が記録される — "sho-h (Sho Hashimoto)" <sho-h@...>
5 messages
2012/10/02
[#46203] [ruby-trunk - Bug #7111][Open] New build option to enable/disable global method caching — "shugo (Shugo Maeda)" <redmine@...>
5 messages
2012/10/06
[#46258] [ANN] 2.0.0 feature freeze — Yusuke Endoh <mame@...>
Japanese later; 日本語は後で
5 messages
2012/10/24
[#46309] [ruby-trunk - Bug #2154][Assigned] filesystem encoding of UNIX — "usa (Usaku NAKAMURA)" <usa@...>
13 messages
2012/10/29
[#46310] Re: [ruby-trunk - Bug #2154][Assigned] filesystem encoding of UNIX
— Tanaka Akira <akr@...>
2012/10/29
2012年10月29日 10:31 usa (Usaku NAKAMURA) <usa@garbagecollect.jp>:
[#46366] Re: [ruby-trunk - Bug #2154][Assigned] filesystem encoding of UNIX
— "U.Nakamura" <usa@...>
2012/11/02
こんにちは、なかむら(う)です。
[#46375] Re: [ruby-trunk - Bug #2154][Assigned] filesystem encoding of UNIX
— KOSAKI Motohiro <kosaki.motohiro@...>
2012/11/02
>> とくに指定しなければ、default external は locale から設定されるので、
[#46376] Re: [ruby-trunk - Bug #2154][Assigned] filesystem encoding of UNIX
— Urabe Shyouhei <shyouhei@...>
2012/11/02
On 11/02/2012 01:56 PM, KOSAKI Motohiro wrote:
[#46396] Re: [ruby-trunk - Bug #2154][Assigned] filesystem encoding of UNIX
— "U.Nakamura" <usa@...>
2012/11/05
こんにちは、なかむら(う)です。
[ruby-dev:46185] Re: [ruby-trunk - Bug #7095][Open] Non-recursive marking
From:
SASADA Koichi <ko1@...>
Date:
2012-10-01 16:07:48 UTC
List:
ruby-dev #46185
(2012/10/02 0:21), authorNari (Narihiro Nakamura) wrote: > > Issue #7095 has been reported by authorNari (Narihiro Nakamura). > > ---------------------------------------- > Bug #7095: Non-recursive marking > https://bugs.ruby-lang.org/issues/7095 > > Author: authorNari (Narihiro Nakamura) > Status: Open > Priority: Normal > Assignee: authorNari (Narihiro Nakamura) > Category: core > Target version: 2.0.0 > ruby -v: ruby 2.0.0dev (2012-09-25 trunk 37032) [x86_64-linux] > > > nariです。 > > GCのマーキングで関数の再帰呼び出しを使わないバージョンを書いてみました。 > > 差分: https://github.com/authorNari/ruby/compare/non_recursion_marking > パッチ: https://github.com/authorNari/ruby/compare/non_recursion_marking.patch > > = 現状の問題点 > 現在のマークは、基本的にはオブジェクト、子オブジェクト、孫オブジェクト > と、gc_mark()を再帰的に呼び出すという実装になっています。 > もしもオブジェクトがすごく深いグラフを持っていた場合にはマシンスタック > が溢れてしまうので、GCが「あ、スタックが溢れそう」と判断するとそれ以上 > はマシンスタックを使わない方法でマークを行おうとします。 +1 遅くなっていない,ということで,デメリットが思いつかないのでよろしいの じゃないかと思います.素晴らしい(パッチあんまり真面目に読んでないけど). あまり本質じゃないんですが, - page という言葉は適当でしょうか. - GC の度に毎回 malloc? いいんだっけ.最初の1ページは最初に alloc する からいいのかな. - +#ifndef __LP64__ は本当にこれがやりたいんだろうか.あと -2 って何? -- // SASADA Koichi at atdot dot net