Hi All,<div><br></div><div>    find new VMs in <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2342/">VM.r2342/</a> (SimpleStackBasedCogit) and <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2343/">VM.r2343<font class="Apple-style-span" face="arial, helvetica, sans-serif">/</font></a><font class="Apple-style-span" face="arial, helvetica, sans-serif"> (</font><span class="Apple-style-span" style="white-space: pre-wrap; "><font class="Apple-style-span" face="arial, helvetica, sans-serif">StackToRegisterMappingCogit</font></span><font class="Apple-style-span" face="arial, helvetica, sans-serif">).  2343 seems fine but I appear to have introduced a regression into 2342.  The 2343 VMs fix both of the bugs mentioned by Matthew and Yoshiki:</font></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">This now evaluates to nil as intended:</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><span class="Apple-style-span" style="font-family: arial; ">| a | a := false. [a ifFalse: [Error signal]] on: Error do: [:ex | a := true. ex retry]</span><br>
</font><br></div><div>This no longer provokes a must-be-boolean error:</div><div>BooleanArrayUser new loop1</div><div><br></div><div>As usual I&#39;m very grateful for you pounding on these (ok, at least the 2343 VM :) ).</div>
<div><br></div><div>best</div><div>Eliot<br><div class="gmail_quote"><br></div><div class="gmail_quote">On Fri, Jan 7, 2011 at 10:10 AM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Matthew, Hi Yoshiki,<br><br><div><br></div><div>   thanks very much for this.  I have a fix which I should be able to roll out this evening or tomorrow.  The problem was that the run-time code that assigns inst vars of contexts was not preserving the register holding the receiver although the code generator thought it was.  So in MethodContext&gt;&gt;#privRefresh a subsequent reference to a context inst var failed because the register assumed to be holding the context got trashed.  There was another bug which caused the code generator&#39;s &quot;simulation stack&quot; (its main optimization data structure) to be off by one for context inst var assigns.  Hopefully these two fixes will fix Yoshiki&#39;s bug also.  Yoskhiki, do you have a more reliable way of reproducing that bug?</div>

<div><br></div><div>best</div><div>Eliot</div><div><div></div><div class="h5"><div><br><div class="gmail_quote">On Thu, Jan 6, 2011 at 6:40 PM, Matthew Fulmer <span dir="ltr">&lt;<a href="mailto:tapplek@gmail.com" target="_blank">tapplek@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br>
On Thu, Jan 06, 2011 at 09:27:14PM -0500, Matthew Fulmer wrote:<br>
&gt;<br>
&gt; In Cog release 2341, as distributed at<br>
&gt; <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2341/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r2341/</a><br>
&gt;<br>
&gt; this causes an MNU. It should evaluate to true:<br>
&gt;<br>
&gt; | a | a := false. [a ifFalse: [Error signal]] on: Error do: [:ex | a := true. ex retry]<br>
<br>
</div>actually it should evaluate to nil<br>
<div><div></div><div><br>
--<br>
Matthew Fulmer (a.k.a. Tapple)<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>