[squeak-dev] Re: [Vm-dev] Problem restarting contexts in Cog 2341
Eliot Miranda
eliot.miranda at gmail.com
Sat Jan 8 02:15:52 UTC 2011
Hi All,
find new VMs in
VM.r2342/<http://www.mirandabanda.org/files/Cog/VM/VM.r2342/>
(SimpleStackBasedCogit)
and VM.r2343/ <http://www.mirandabanda.org/files/Cog/VM/VM.r2343/> (
StackToRegisterMappingCogit). 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:
This now evaluates to nil as intended:
| a | a := false. [a ifFalse: [Error signal]] on: Error do: [:ex | a :=
true. ex retry]
This no longer provokes a must-be-boolean error:
BooleanArrayUser new loop1
As usual I'm very grateful for you pounding on these (ok, at least the 2343
VM :) ).
best
Eliot
On Fri, Jan 7, 2011 at 10:10 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
> Hi Matthew, Hi Yoshiki,
>
>
> 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?
>
> best
> Eliot
>
> On Thu, Jan 6, 2011 at 6:40 PM, Matthew Fulmer <tapplek at gmail.com> wrote:
>
>>
>> On Thu, Jan 06, 2011 at 09:27:14PM -0500, Matthew Fulmer wrote:
>> >
>> > In Cog release 2341, as distributed at
>> > http://www.mirandabanda.org/files/Cog/VM/VM.r2341/
>> >
>> > this causes an MNU. It should evaluate to true:
>> >
>> > | a | a := false. [a ifFalse: [Error signal]] on: Error do: [:ex | a :=
>> true. ex retry]
>>
>> actually it should evaluate to nil
>>
>> --
>> Matthew Fulmer (a.k.a. Tapple)
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20110107/d6cd46c5/attachment.htm
More information about the Squeak-dev
mailing list
|