<br><br><div class="gmail_quote">On Sun, Dec 13, 2009 at 1:53 PM, Igor Stasenko <span dir="ltr">&lt;<a href="mailto:siguctua@gmail.com">siguctua@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;">
2009/12/13 Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;:<br>
<div class="im">&gt; I would keep CompiledMethod<br>
&gt; class&gt;&gt;primitive:numArgs:numTemps:stackSize:literals:bytecodes:trailer:, it<br>
&gt; has some abstraction that could be useful for e.g. tests.  I like the<br>
&gt; assurance that CompiledMethod flag is zero, and so am happy to sere that<br>
&gt; deleted.  e.g. Cog has a mode controlled by vmParameterAt:put: where it will<br>
&gt; set the flag bits of methods that are interpreted.  Craig has code in his<br>
&gt; spoon VM which sets the flag for used methods.  I would like to reserve the<br>
&gt; bit for introspective tasks like these, and for these it is convenient that<br>
&gt; all methods have a zero flag bit.<br>
&gt; cheers<br>
<br>
</div>Thanks for explanation. Should we put that in method&#39;s comment?<br></blockquote><div><br></div><div>Good idea.  </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
What about second one?<br></blockquote><div><br></div><div>I want to keep <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">CompiledMethod class&gt;&gt;primitive:numArgs:numTemps:stackSize:literals:bytecodes:trailer: because it provides a reasonable way of creating methods that I could imagine being used in e.g. test or a ClassBuilder that doesn&#39;t recompile when shape changing but instead disassembles and reassembles (as the VisualWorks one does).</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br>
</span></font></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">BTW, anyone wanting something worthwhile to work on could choose this.  The idea is for the ClassBuilder to only update methods that access instance variables.and do it without compiling from source, which is both faster and removes run-=time dependency on exotic compilers.  The ClassBuilder would scan for methods that access instance variables, disassemble these to some sort of symbolic bytecode, and reassemble them with updated inst var refs.  If this has already been done, e.g. in the context of the NewCompiler, then it is still worth-while making this work in Squeak trunk and Pharo.</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">cheers</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Eliot</span></font></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"><br>
&gt; Eliot<br>
&gt;<br>
&gt; On Sun, Dec 13, 2009 at 8:05 AM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hello guys,<br>
&gt;&gt;<br>
&gt;&gt; there are few unsent messages on class side of CompiledMethod,<br>
&gt;&gt;<br>
&gt;&gt; primitive: primNum numArgs: numArgs numTemps: numTemps stackSize:<br>
&gt;&gt; stackSize literals: literals bytecodes: bytecodes trailer:<br>
&gt;&gt; trailerBytes<br>
&gt;&gt; and<br>
&gt;&gt; newBytes: numberOfBytes trailerBytes: trailer nArgs: nArgs nTemps:<br>
&gt;&gt; nTemps nStack: stackSize nLits: nLits primitive: primitiveIndex flag:<br>
&gt;&gt; flag<br>
&gt;&gt;<br>
&gt;&gt; I checked both in Pharo 1.1-core and in Trunk images, both of them<br>
&gt;&gt; seem having no senders.<br>
&gt;&gt;<br>
&gt;&gt; Any insights if it safe to wipe them out?<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Best regards,<br>
&gt;&gt; Igor Stasenko AKA sig.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
</div>--<br>
<div><div></div><div class="h5">Best regards,<br>
Igor Stasenko AKA sig.<br>
<br>
</div></div></blockquote></div><br>