[Vm-dev] Problem restarting contexts in Cog 2341

Eliot Miranda eliot.miranda at gmail.com
Fri Jan 7 18:10:03 UTC 2011


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/vm-dev/attachments/20110107/fca28442/attachment.htm


More information about the Vm-dev mailing list