[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/vm-dev/attachments/20111012/ed252d93/attachment.htm
More information about the Vm-dev
mailing list