[squeak-dev] Re: [Vm-dev] Re: [Pharo-project] About ~= and ~~

Eliot Miranda eliot.miranda at gmail.com
Wed Oct 12 17:29:38 UTC 2011


On Wed, Oct 12, 2011 at 10:26 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

>
>
>
> On Wed, Oct 12, 2011 at 6:44 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
>
>>
>>
>>
>> On Wed, Oct 12, 2011 at 8:38 AM, Levente Uzonyi <leves at elte.hu> wrote:
>>
>>> On Wed, 12 Oct 2011, Clara Allende wrote:
>>>
>>>  Hi guys,
>>>>
>>>> I'm wondering, why?
>>>>
>>>> ProtoObject>> ~~ anObject
>>>>   "Answer whether the receiver and the argument are not the same object
>>>>   (do not have the same object pointer)."
>>>>
>>>>   self == anObject
>>>>       ifTrue: [^ false]
>>>>       ifFalse: [^ true]
>>>>
>>>> Instead of:
>>>> ProtoObject>> ~~ anObject
>>>>   "Answer whether the receiver and the argument are not the same object
>>>>   (do not have the same object pointer)."
>>>>
>>>>   ^(self == anObject) not
>>>>
>>>> And why?
>>>> Object >> ~= anObject
>>>>   "Answer whether the receiver and the argument do not represent the
>>>>   same object."
>>>>
>>>>   ^self = anObject == false
>>>>
>>>> Instead of
>>>> Object>> ~= anObject
>>>>   "Answer whether the receiver and the argument do not represent the
>>>>   same object."
>>>>
>>>>   ^(self = anObject) not.
>>>>
>>>> Is there any particular reason for this that I'm missing?
>>>>
>>>
>>> Performance.
>>>
>>
>> But better still is to add a ~~ primitive.  I did this for VisualWorks.
>>  e.g. primitive 150 is free.  why don't we use that for 1.4/4.3?
>>
>>
>
> with or without special bytecode associated?
>

Initially without.  Dynamic frequency is low, and primitive adds significant
performance over the non-primitive version.  One could use the blockCopy:
special bytecode but I'd wait until doing a complete bytecode set redesign.


>
>
>
>>
>>>
>>> Levente
>>>
>>>  Thanks in advance!
>>>> --
>>>>
>>>> "*Most good programmers do programming not because they expect to get
>>>> paid
>>>> or get adulation by the public, but because it is fun to program.*"
>>>>
>>>> Linus Torvalds
>>>>
>>>>
>>>
>>
>>
>> --
>> best,
>> Eliot
>>
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20111012/ed252d93/attachment.htm


More information about the Squeak-dev mailing list