<br><br><div class="gmail_quote">On Wed, Nov 30, 2011 at 7:39 PM, 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br><br><div class="gmail_quote">On Wed, Nov 30, 2011 at 1:19 AM, 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 <br><br><br><div class="gmail_quote"><div class="im">On Tue, Nov 29, 2011 at 10:27 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

 <br><br><br><div class="gmail_quote">On Tue, Nov 29, 2011 at 11:54 AM, 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



 <br><br><br><div class="gmail_quote">On Mon, Nov 28, 2011 at 7:25 PM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




 <br><br><br><div class="gmail_quote">On Sat, Nov 26, 2011 at 3:02 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





Compact classes cannot be made uncompact in a Cog+JIT VM.<br></blockquote><div><br></div><div>Not exactly true.  Certain classes cannot be uncompacted.  These are as defined by</div><div>    StackInterpreter&gt;&gt;#checkAssumedCompactClasses</div>





<div>and the ones that can&#39;t be uncompacted are</div><div><div><span style="white-space:pre-wrap">        </span>Array</div><div><span style="white-space:pre-wrap">        </span>LargeNegativeInteger</div>
<div><span style="white-space:pre-wrap">        </span>LargePositiveInteger</div><div><span style="white-space:pre-wrap">        </span>Float</div><div><span style="white-space:pre-wrap">        </span>MethodContext</div>
</div><div><br></div><div>There is a performance advantage to being able to identify instances of these classes from the compact class index.</div><div><br></div><div>But any other classes should be able to be compacted and uncompacted.</div>




</div></blockquote><div><br><br>Eliot, should we validate this in image side (#becomeUncompact)  ?<br></div></div></blockquote><div><br></div><div>I suppose so.  The &quot;right&quot; way to do this would be to ask the VM (via a primitive) for the set of assumed compact classes, but that&#39;s too much work. </div>


</div></blockquote></div><div><br>I agree. So I will try to add the validation. <br> </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> I hope that a new GC/object representation will become available before I would ever think of changing the set of compact classes, so having the method document what the current VM requires is ok.</div></div></blockquote>


</div><div><br>Eliot, a simple question: In Pharo: <br>Smalltalk compactClassesArray asSet size -&gt; 15<br>Smalltalk compactClassesArray asSet size -&gt; 13<br><br>I would like to have one extra free bit in the object header. I can hack my own VM which uses 4 bits for CompactClasses rather than 5, but do you think we can do this for the official Cog VM as well? this would allow &quot;researched&quot; a much nice infrastructure out of the box. How much work can be such change? is there someone needing 32 compact classes?  if I do a SpaceTally new printSpaceAnalysis  it looks like if I only need the first 10 classes....<br>


<br>I know in the future you want to change all this thing about compact classes, but if we can have one free bit tomorrow (instead of &quot;in the future&quot;), then this is very very good. <br></div></div></blockquote>

<div><br></div><div>Seems reasonable.  What do you think Andreas, David, Esteban, Ian?  Shall we make this change?</div></div></blockquote><div><br></div><div>Belay that.  It doesn&#39;t fly.  Bitmap is at index 16, not 15.  So close.  Ah well...  Mariano, you could perhaps make it an option.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div><br>Thanks in advance,<br>
<br><br> </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><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div><br> <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><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Can compact classes be made uncompact when running the StackInterpreter VM?<br></blockquote><div><br></div><div>It is exactly the same story.  The same classes are assumed to be compact in the StackInterpreter VM as the CoInterpreter VM.</div>





<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks.<br>
<br>
</blockquote></div><br><br clear="all"><div>HTH</div>-- <br>best,<div>Eliot</div><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>
<br></blockquote></div></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>
<br></blockquote></div><font color="#888888"><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>
</font></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>