Hi Stephane,<br><br><div class="gmail_quote">On Sat, May 7, 2011 at 1:35 AM, stephane ducasse <span dir="ltr">&lt;<a href="mailto:stephane.ducasse@gmail.com">stephane.ducasse@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>
Eliot<br>
<br>
may be this is because of bad communication medium but each time somebody is mentioning something<br>
not really working your main messages over the months is do not fix it.<br>
I do not think that this is really the way to build a community around Cog.<br></blockquote><div><br></div><div>You need to understand the technical issue here before you can say that I&#39;m saying &quot;do not fix it&quot;.  I am /sure/ that there is no bug here to be fixed, and that &quot;fixing&quot; the supposed bug will make things worse for no benefit.  I also /do not/ leave bugs unfixed.  Recently I have fixed shallow copy for contexts, objects-as-methods, locales on linux and many more.  So it is unfair to accuse me of not fixing bugs, and a little intellectually lazy of you in this case not to understand the issue that is behind my saying we should not &quot;fix&quot; this.  Pl;ease see Andreas&#39; message and my reply to it.</div>
<div><br></div><div>best,</div><div>Eliot</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
At least to me the messages is that you are not really interested in that. I can understand that you are busy<br>
but there is nothing like little issues: because little issues make hard stupid people to move and since<br>
stupid people are the masses then this means that nothing move. This is ok too. but I wanted<br>
to let you know the message we receive.<br>
I should say that I&#39;m really concerned about the truck factor around Cog. If you go to work on something else<br>
what will happen. And imagine that nothing improves except speed for a couple of years and nothing<br>
has the knowledge to understand the system and you leave then we would have lost of couple of year<br>
making sure that the system is slowly improving and not only from the speed perspective.<br>
<br>
Now about uncompacting classes<br>
<br>
        - I know that making classes uncompact was working when benjamin was working on hazelnut<br>
        because he used that to simplify his approach.<br>
        Now this is not working anymore so instead of working on the bootstrap we will have to understand<br>
        what is wrong and turn around.<br>
<br>
        - Second if simple stuff do not work or cannot even be changed how can we think about<br>
        bigger changes.<br>
<br>
        - Third we need a flexible system for making experiments. If we remove that from the system then<br>
        we should all better go and do ruby or python. May be at the end this what we should do.<br>
<br>
        - Camillo started to work on immutable objects and we check and we have 13 compact classes but 5 bits<br>
        so it may make sense to keep 4 bits for compact classes and 2 bits for experiments (which are really<br>
        important to us. it would mean 3 bits since immutability is important and we would like to have it).<br>
        Then this means that we can live happily waiting for a new object format.<br>
<br>
<br>
Stef<br>
<div><div></div><div class="h5"><br>
&gt; &gt;<br>
&gt; &gt; and your point would be?<br>
&gt; &gt;<br>
&gt; it needs to be fixed.<br>
&gt;<br>
&gt; No.  It does /not/ need to be fixed.  As I said earlier it is *absurd* to throw away performance for the ability to change certain classes to become uncompact.<br>
&gt;<br>
&gt; Because if we can&#39;t do:<br>
&gt;<br>
&gt; Smalltalk compactClassesArray do: [:each | each ifNotNil: [each<br>
&gt; becomeUncompact]].<br>
&gt;<br>
&gt; then we cant:<br>
&gt;<br>
&gt; VM getRidOfCompactClassesNotion<br>
&gt;<br>
&gt; :)<br>
&gt;<br>
&gt; That will be done by producing a new GC and a new image format, not by tinkering with compact classes in the current GC.  Right?<br>
&gt;<br>
&gt; &gt; On Fri, May 6, 2011 at 9:38 AM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi, i tried to do a simple:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Smalltalk compactClassesArray do: [:each | each ifNotNil: [each<br>
&gt; &gt;&gt; becomeUncompact]]<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; and it crashing the image.<br>
&gt; &gt;&gt; I tried to do this for individual classes.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; CompiledMethod, ByteString, BlockClosure, BlockContext ,<br>
&gt; &gt;&gt;  seems working ok.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; MethodContext, LargePositiveInteger, LargeNegativeInteger, Float<br>
&gt; &gt;&gt; crashes the image.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; i also tried following:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; [Smalltalk compactClassesArray do: [:each | each ifNotNil: [each<br>
&gt; &gt;&gt; becomeUncompact]]<br>
&gt; &gt;&gt; ] forkAt: Processor highestPriority<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; but it didn&#39;t helped much.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Also, i saved image after couple successfull #becomeUncompact steps..<br>
&gt; &gt;&gt; and now VM cannot open image, most probably<br>
&gt; &gt;&gt; because it fails on &#39;assumptions check&#39; defined in #checkAssumedCompactClasses<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; Best regards,<br>
&gt; &gt;&gt; Igor Stasenko AKA sig.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Best regards,<br>
&gt; Igor Stasenko AKA sig.<br>
&gt;<br>
<br>
</div></div></blockquote></div><br>