[squeak-dev] Boolean over-optimization #ifTrue:/#ifFalse:

Michael van der Gulik mikevdg at gmail.com
Wed Mar 5 20:16:04 UTC 2008


On Wed, Mar 5, 2008 at 7:01 PM, Igor Stasenko <siguctua at gmail.com> wrote:

> Hello,
>
> i currently tried to implement a proxy (subclass of ProtoObject) with
> own IfTrue:/ifFalse: methods.
> What i can't understand, is why VM throws me with #mustBeBoolean
> message instead of doing real send if optimized pattern fails (when
> receiver of #IfTrue: is a non-boolean)?
>
> Is there any way, without modifying compiler, how to force it to do real
> send?
>
>
Oh, you'll also have trouble with >>class and >>==. These two messages are
implemented directly in the VM and bypass method lookup. I have no solution
to this but there's a patch for the VM here:
http://wiki.squeak.org/squeak/2074.

Gulik.

-- 
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080306/7e7beaa9/attachment.htm


More information about the Squeak-dev mailing list