From: Magnus Holm Date: 2013-04-29T02:19:23+09:00 Subject: [ruby-core:54673] Re: [ruby-trunk - Feature #8339][Open] Introducing Geneartional Garbage Collection for CRuby/MRI --001a11c367020dfd8204db6ef8ce Content-Type: text/plain; charset=UTF-8 On Sun, Apr 28, 2013 at 6:29 PM, SASADA Koichi wrote: > (2013/04/29 1:19), Magnus Holm wrote: > > In hindsight I think that the sliding views-technique is only required > > if you have multiple threads running at the same time. In CRuby there > > will only be a single thread running Ruby code so this becomes easier. > > For a concurrent tracer (tracing/marking objects as the Ruby thread > > runs) the most important thing is to get a consistent view of the heap. > > Please read my previous message: "I don't think it is acceptable for > CRuby (because CRuby moves memory areas!)". > > Concurrent tracing needs an assumption that "do not move (free) memory > area except sweeping timing". Current CRuby does. > For example: "ary << obj". Yes, the CRuby's memory management strategy > (assumption) is different from normal interpreters. I was not aware of that. What exactly does "moving memory areas" mean? Do you have any links? --001a11c367020dfd8204db6ef8ce Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sun, Apr 28, 2013 at 6:29 PM, SASADA Koichi <ko1@atdot.n= et> wrote:
(2013/04/29 1:19), Magnus Holm wrote:
> In hindsight I think that the sliding views-technique is only required=
> if you have multiple threads running at the same time. In CRuby there<= br> > will only be a single thread running Ruby code so this becomes easier.=
> For a concurrent tracer (tracing/marking objects as the Ruby thread > runs) the most important thing is to get a consistent view of the heap= .

Please read my previous message: "I don't think it is accept= able for
CRuby (because CRuby moves memory areas!)".

Concurrent tracing needs an assumption that "do not move (free) = memory
area except sweeping timing". Current CRuby does.
For example: "ary << obj". Yes, the CRuby's memory mana= gement strategy
(assumption) is different from normal interpreters.

I was not aware of that.

What exactly does "moving memory areas" mean? Do you have any l= inks?

--001a11c367020dfd8204db6ef8ce--