Re: regression: TestObjectsAsMethods crash in 4.19.5 (not in 4.16.7)
Posted by
codefrau on
Mar 19, 2021; 4:11pm
URL: https://forum.world.st/regression-TestObjectsAsMethods-crash-in-4-19-5-not-in-4-16-7-tp5127232p5127922.html
On Mon, Mar 01, 2021 at 06:20:58PM +0100, [hidden email] 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