OK, in the end I decided on primitive number 169. It doesn't waste the 150-159 range and is in amongst primitiveAdoptInstance and primitiveSetIdentityHash. David, would you like to integrate this into the main branch?
On Wed, Oct 12, 2011 at 10:47 AM, Mariano Martinez Peck < [email protected]> wrote: > > > On Wed, Oct 12, 2011 at 7:29 PM, Eliot Miranda <[email protected]>wrote: > >> >> >> >> On Wed, Oct 12, 2011 at 10:26 AM, Mariano Martinez Peck < >> [email protected]> wrote: >> >>> >>> >>> >>> On Wed, Oct 12, 2011 at 6:44 PM, Eliot Miranda >>> <[email protected]>wrote: >>> >>>> >>>> >>>> >>>> On Wed, Oct 12, 2011 at 8:38 AM, Levente Uzonyi <[email protected]> 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. >> > > +1 > > >> 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 >> >> >> > > > -- > Mariano > http://marianopeck.wordpress.com > > > > > -- best, Eliot
primitiveNotIdentical.st
Description: Binary data
