On Sun, Nov 21, 2010 at 2:59 PM, Mariano Martinez Peck < [email protected]> wrote:
> > > On Sun, Nov 21, 2010 at 11:55 PM, Schwab,Wilhelm K > <[email protected]>wrote: > >> Mariano, >> >> I see your point, but given the immediate object encoding tricks I'm not >> sure it's possible. > > > :( It's a pity. Because most users should not be aware of this. This > should be completly transparent for the developer. > > >> Would the class methods #minVal and #maxVal be of any use to you? >> > > No :( Maybe it is better in this way: I want to know how many > instances/temp var have a SmallInetger. This means, how many slots/words > have a 1 in the last bit. This is what I understand by "Smallinteger > instances". > That's the number of references to SmallInteger. If all those slots contain references to 0 then they're still referring to a single object. The number of instances of SmallInteger is SmallInteger maxVal - SmallInteger minVal + 1, period. But they're virtual objects so they don't take any space; only their references take space. (IMO) So you could implement SmallInteger class>>instanceCount ^self maxVal - self minVal + 1 SmallInteger class>>allInstances ^self minVal to: self maxVal you could implement the following but it's of academic interest only; it'll take a long time on a 64-bit implementation ;) If you add this then you have to guard against it being invoked because shure as s**t someone will wonder why the system isn't doing anything when they ask some apparently reasonable question about instance counts... SmallInteger class>>allInstancesDo: aBlock self minVal to: self maxVal do: aBlock best Eliot > > >> >> Bill >> >> >> ________________________________________ >> From: [email protected] [ >> [email protected]] On Behalf Of Mariano >> Martinez Peck [[email protected]] >> Sent: Sunday, November 21, 2010 4:41 PM >> To: Pharo Development >> Subject: [Pharo-project] is there an easy way to know the SmallInteger >> instances? >> >> If I do SmallInteger alIInstances I get an empty array, and of course, >> with SmallInteger instanceCount I get zero. >> >> Now, I can understand that from the VM point of view, but for the final >> user, this should be polymorphic. For example, for instanceCount, I would >> like to know all the "variable slots" that has a 1 in the last bit. >> Is this already possible? if true, which message? if not, should I >> hack in the vm and code a primitive that does this? >> >> And the same for allInstances, if I can inspect 5, I should be also to >> inspect SmallInteger allInstances, and SmallInteger allInstances first, >> etc.... >> >> thanks >> >> Mariano >> >> >
