[Pharo-project] numLiterals > 0 is that possible?
camillobruni at gmail.com
Sat Aug 18 12:33:16 CEST 2012
On 2012-08-17, at 22:50, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> On Fri, Aug 17, 2012 at 1:42 PM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>> Hi guys. Right now we have
>> "answer the class that I am installed in"
>> ^self numLiterals > 0
>> ifTrue: [ (self literalAt: self numLiterals) value ]
>> ifFalse: [ nil ]
>> But of course my image has no method with 0 literals:
>> (CompiledMethod allInstances select: [:each | each numLiterals = 0 ]) size
>> -> 0
>> So...can this really happen? or I can just remove the if ?
> Yes it could happen. For example, i the Newspeak implementation above
> Squeak these is a collection of inst-var accessors that are shared through
> all Newspeak classes in the system.
so it will never happen in Pharo right?
> These have a nil methodClass. If one
> wanted to save space they could have no methodClass instead of nil in the
> methodClass slot. (Note that the above works for these since nil value =
> value). So IMO its a harmless piece of defensice programming. IIABDFI (If
> it ain't broke don't fix it).
again, this is not pharo mentality...
More information about the Pharo-project