Ok....now I found something very hacky :)<br><br>Reading a Squeak blue book, it says &quot;Squeak simply forces de system to believe that the old/new boundary is at the bottom of the old region. Thus, the entire image is now considered to be new objects, and all objects will be fully traced.&quot;<br>
<br>Cheers<br><br>Mariano<br><br><div class="gmail_quote">On Fri, Apr 2, 2010 at 1:22 PM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi. I have been trying to understand a little how the Squeak GC works, and there is something very basic I don&#39;t understand. GC is supposed to start from the rootTable and mark all the objects that are reachable. This objects, includes those which are in the &quot;old space&quot;.  I mean, the old objects too. <br>

<br>The problem is that I don&#39;t find where in the code is that. If i look to ObjectMemory &gt;&gt; markAndTrace: oop    I see:<br><br>(self oop: oop isGreaterThanOrEqualTo: youngStart)<br>        ifTrue: [ header := header bitOr: MarkBit ].  &quot;mark only if young&quot;<br>

<br><br><br>So...it is only marked if young.<br><br>Then, in ObjectMemory &gt;&gt; startObj   I see<br><br>    (self oop: oop isLessThan: youngStartLocal)<br>        ifTrue: [&quot;old object; skip it&quot;<br>            field := oop.<br>

            ^ Upward].<br><br><br>So....where are the old objects being marked ?<br><br>Thanks in advance.<br><font color="#888888"><br>Mariano<br>
</font></blockquote></div><br>