[squeak-dev] Backward image and VM compatibility

Bert Freudenberg bert at freudenbergs.de
Wed Jan 11 16:10:24 UTC 2017


On Tue, Jan 10, 2017 at 3:13 PM, David T. Lewis <lewis at mail.msen.com> wrote:

>
> Thanks Bert. It appears to be something related to MethodContext. Since it
> is VM related, I initially guessed that it might be something related to
> the method cache, but I was able to disable that in the VM and the symptoms
> did not change. I'm thinking now that it might be a failure in primitive 61
> when trying to copy a MethodContext, this based on the debugger stack
> (although I cannot actually display anything useful in the debugger).
>
> I'll report back if I end up figuring it out, meanwhile any and all
> historical
> clues are appreciated :-)
>

Ah, slowly all the hacks I had to put in are coming back to me ;)

Some early images fill the context stack before advancing its stack
pointer. I have a flag to allow that, it's pretty certainly used in
primitive 61. Normally the VM does not allow access beyond the SP because
there is garbage there (stack pops do not nil out the context slot):

https://github.com/bertfreudenberg/SqueakJS/search?q=allowAccessBeyondSP

But since the regular VM does not allow it, no image (except the really old
ones) ever does it, so I just leave the flag enabled whenever "oldPrims" is
in effect ;) Would be better if we could come up with a better way to
identify these images.

- Bert -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20170111/8b7bcdcf/attachment.html>


More information about the Squeak-dev mailing list