On Sun, Apr 28, 2013 at 6:29 PM, SASADA Koichi <ko1 / atdot.net> 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?