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

David T. Lewis lewis at mail.msen.com
Tue Mar 2 00:04:10 UTC 2021


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


More information about the Vm-dev mailing list