[Vm-dev] regression: TestObjectsAsMethods crash in 4.19.5 (not in 4.16.7)

Vanessa Freudenberg vanessa at codefrau.net
Fri Mar 19 16:11:52 UTC 2021


On Mon, Mar 1, 2021 at 16:05 David T. Lewis <lewis at mail.msen.com> wrote:

>
> On Mon, Mar 01, 2021 at 06:20:58PM +0100, stes at PANDORA.BE wrote:
> >
> > > Install primitiveArrayBecomeOneWayNoCopyHash as primitive 248
> > > replacing obsolete primitiveInvokeObjectAsMethod.
> >
> > Any news on this Tests-ObjectsAsMethods issue ?
> >
> > The purpose of those tests are not clear to me;
> >
> > Perhaps the change for the "primitives" which was made, can be reverted ?
> >
> > Possibly that creates a new problem for
> primitiveArrayBecomeOneWayNoCopyHash.
> >
> > David Stes
> >
>
> You can consider this a bug in the most recent interpreter VMs. I had
> failed to notice that there is a hard coded reference to that primitive
> number within the VM itself, and this reference is now resulting in
> invocation of the wrong function.
>
> A trivial fix is to rearrange some primtive number assignments, but the
> correct thing to do is adopt the logic that Eliot uses in oscog so that
> the function is not invoked as a "primitive" at all.
>
> I'll try to follow up on this next week.
>
> Dave



This test crashes SqueakJS, too. Could be the same primitive reassignment
confusion.

Can you describe this “hard coded reference”? Under what circumstances is a
primitive being called without being an actual primitive?

Vanessa

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210319/1b7f351b/attachment.html>


More information about the Vm-dev mailing list