[Vm-dev] Method executing but not sent to the receiver

David T. Lewis lewis at mail.msen.com
Wed Jun 8 11:07:40 UTC 2011


On Tue, Jun 07, 2011 at 05:49:45PM -0700, Eliot Miranda wrote:
>  
> Hi Levente,  Hi David,
> 
> On Tue, Jun 7, 2011 at 1:57 PM, Levente Uzonyi <leves at elte.hu> wrote:
> 
> > On Wed, 20 Apr 2011, Andreas Raab wrote:
> >
> >
> >> On 4/20/2011 14:29, Mariano Martinez Peck wrote:
> >>
> >>> CompiledMethod >> valueWithReceiver: aReceiver arguments: anArray
> >>>    "Execute compiledMethod against the receiver and args in argArray. The
> >>> receiver is the CompiledMethod"
> >>>
> >>> <primitive: 666>
> >>>    self primitiveFailed
> >>>
> >>>
> >>> Where the primitive is send directly, and not a message to the receiver.
> >>>
> >>> Is something like this available or I would need to create a new
> >>> primitive?
> >>>
> >>
> >> Which by the way, is the primitive that should exist, and
> >> Object>>withArgs:executeMethod: should be nuked ASAP. There is no reason to
> >> pollute the Object namespace any more than absolutely necessary.
> >>
> >
> > The solution already exists in Cog: primitive 188 can accept a third
> > argument - the receiver, but it doesn't work if the CompiledMethod is quick.
> > In this case the VM crashes. It does work with "normal" methods.
> >
> > I prepared an image with a workspace in it demonstrating the bug:
> > http://leves.web.elte.hu/squeak/primitive188bug.zip
> >
> > If primitive 188 works reliably, then this feature can be added to the
> > interpreter VM too.
> >
> 
> Levente, this is fixed in VMMaker.oscog-eem.75 &
> http://www.mirandabanda.org/files/Cog/VM/VM.r2394/.  David, the VMMaker
> package contains a putative fix for Interpreter.  Feel free to integrate it
> into the interpreter.

Thank you!

I am traveling and cannot look at it right now, but I'll add this to the
interpreter VMMaker as soon as possible if someone else has not gotten to
it sooner :)

Dave



More information about the Vm-dev mailing list