<br><br><div class="gmail_quote">On Mon, Nov 22, 2010 at 12:10 AM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><br><div class="gmail_quote"><div class="im">On Sun, Nov 21, 2010 at 2:59 PM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><br><div class="gmail_quote"><div>On Sun, Nov 21, 2010 at 11:55 PM, Schwab,Wilhelm K <span dir="ltr">&lt;<a href="mailto:bschwab@anest.ufl.edu" target="_blank">bschwab@anest.ufl.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Mariano,<br>
<br>
I see your point, but given the immediate object encoding tricks I&#39;m not sure it&#39;s possible.  </blockquote></div><div><br>:(   It&#39;s a pity. Because most users should not be aware of this. This should be completly transparent for the developer.<br>


 </div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Would the class methods #minVal and #maxVal be of any use to you?<br></blockquote>

</div><div>
<br>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 &quot;Smallinteger instances&quot;. <br>

</div></div></blockquote><div><br></div></div><div>That&#39;s the number of references to SmallInteger.  </div></div></blockquote><div><br>ok...and how can I know this then?  ;)<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div>If all those slots contain references to 0 then they&#39;re still referring to a single object.  The number of instances of SmallInteger is SmallInteger maxVal - SmallInteger minVal + 1, period.  </div>
</div></blockquote><div><br>isn&#39;t that all the MAX possible instances???  If in my whole image, I never use the number 42, why would you count it?<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div>But they&#39;re virtual objects so they don&#39;t take any space; only their references take space.  (IMO)</div>
<div><br></div></div></blockquote><div><br>Ok, at least we agree it cannot be zero. At least it is not clear from a normal developer that doesnt know anything about the VM. <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div></div><div><br></div><div>So you could implement</div><div>SmallInteger class&gt;&gt;instanceCount</div><div>    ^self maxVal - self minVal + 1</div><div><br></div><div>SmallInteger class&gt;&gt;allInstances</div>

<div>    ^self minVal to: self maxVal</div><div><br></div><div>you could implement the following but it&#39;s of academic interest only; it&#39;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&#39;t doing anything when they ask some apparently reasonable question about instance counts...</div>

<div><br></div><div>SmallInteger class&gt;&gt;allInstancesDo: aBlock</div><div>    self minVal to: self maxVal do: aBlock</div><div><br></div><div>best</div><div>Eliot</div><div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="gmail_quote"><div>
 </div><div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Bill<br>
<br>
<br>
________________________________________<br>
From: <a href="mailto:pharo-project-bounces@lists.gforge.inria.fr" target="_blank">pharo-project-bounces@lists.gforge.inria.fr</a> [<a href="mailto:pharo-project-bounces@lists.gforge.inria.fr" target="_blank">pharo-project-bounces@lists.gforge.inria.fr</a>] On Behalf Of Mariano Martinez Peck [<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>]<br>



Sent: Sunday, November 21, 2010 4:41 PM<br>
To: Pharo Development<br>
Subject: [Pharo-project] is there an easy way to know the SmallInteger  instances?<br>
<div><div></div><div><br>
If I do SmallInteger alIInstances I get an empty array, and of course, with SmallInteger instanceCount I get zero.<br>
<br>
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 &quot;variable slots&quot; that has a 1 in the last bit.<br>



Is this already possible?   if true, which message?   if not, should I hack in the vm and code a primitive that does this?<br>
<br>
And the same for allInstances, if I can inspect  5, I should be also to inspect  SmallInteger allInstances, and SmallInteger allInstances first, etc....<br>
<br>
thanks<br>
<br>
Mariano<br>
<br>
</div></div></blockquote></div></div><br>
</blockquote></div></div><br>
</blockquote></div><br>