<br><br><div class="gmail_quote">On Mon, Apr 13, 2009 at 2:22 PM, John M McIntosh <span dir="ltr">&lt;<a href="mailto:johnmci@smalltalkconsulting.com">johnmci@smalltalkconsulting.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Er I think my question was why is<div class="im"><br>
<br>
       ((self longAt: activeContext) bitAnd: RootBit) = 0 ifTrue:[<br>
<br></div>
always false if the comment implies 1 3.8 shouldn&#39;t  have the RootBit set?</blockquote><div><br></div><div>Since the initial context shouldn&#39;t have the root bit set all the context manipulation in initialClanup is redundant if this is a new closure image.  If it isn&#39;t you need to keep it for loading older images.  So in our sources the root bit code is still there in the ordinary closure interpreter, but gone in the Stack VM (which only runs closure images).</div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">and<br>
<br>
flushExternalPrimitives then grinds thru all the objects to do self flushExternalPrimitiveOf: oop<br>
but snapshotCleanUp  does the same work (or so it appears), which would mean the flushExternalPrimitiveOf: would be pointless at startup time.</blockquote><div><br></div><div>Right, which was why I said &quot;Good point&quot;.  In the Stack VM therefore initialCleanup is just</div>
<div><br></div><div><div>initialCleanup</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&quot;This used to cope with issues with images written by VMs earlier than 3.6/3.7.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> Since we won&#39;t be loading such images (being a closure only VM) we only have to</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span> deal with external primitives.  Since references to external plugins in methods are</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> cleaned up in snapshotCleanUp only initialize the tables, not visit each method.&quot;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>self flushMethodCache.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>self flushAtCache.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>self flushExternalPrimitiveTable</div>
<div><br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5"><br>
<br>
On 13-Apr-09, at 2:09 PM, Eliot Miranda wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
--<br>
</blockquote>
<br>
===========================================================================<br>
John M. McIntosh &lt;<a href="mailto:johnmci@smalltalkconsulting.com" target="_blank">johnmci@smalltalkconsulting.com</a>&gt;<br>
Corporate Smalltalk Consulting Ltd.  <a href="http://www.smalltalkconsulting.com" target="_blank">http://www.smalltalkconsulting.com</a><br>
===========================================================================<br>
<br>
<br>
<br>
</div></div></blockquote></div><br>