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'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"><<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>></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>>#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's "simulation stack" (its main optimization data structure) to be off by one for context inst var assigns. Hopefully these two fixes will fix Yoshiki'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"><<a href="mailto:tapplek@gmail.com" target="_blank">tapplek@gmail.com</a>></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>
><br>
> In Cog release 2341, as distributed at<br>
> <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2341/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r2341/</a><br>
><br>
> this causes an MNU. It should evaluate to true:<br>
><br>
> | 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>