[squeak-dev] Re: Bug with valueWithReceiver:arguments:
amarot at ulb.ac.be
Sun Nov 23 16:51:42 UTC 2008
>> Does anyone know approximately when this fix should be added to an
>> official release ? This bug seriously makes it hard for me to share
>> my code...
> I understand that what you need is "... method
> valueWithReceiver:arguments: is used hugely with method wrappers"
> and you need it without VM bug when a primitive fails.
> Perhaps a stupid question (I don't know any other your requirements)
> but instead of wrapping methods one could easily #perform: a
> selector on the receiver. What would be the reason that you depend
> on #valueWithReceiver:arguments: ? it cannot be performance since
> #perform: needs some time as well.
The goal of my wrappers is to choose (depending on the context)
between the original method and an instrumented one.
The calling code is similar to this :
ifFalse: [originalMethod] )
Note that I don't use #valueWithReceiver:, but the bug also appears
with that method.
Since #perform: goes through the method lookup process, it will loop
unless I use two new selectors. This solution has several
disadvantages like implying a second lookup process or not being
invisible (the new method dictionary entries appear in browsers and
are editable which is problematic).
More information about the Squeak-dev