<br><br><div class="gmail_quote">On Mon, Sep 27, 2010 at 12:15 PM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com">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><div class="gmail_quote"><div class="im">On Mon, Sep 27, 2010 at 8:38 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@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">
Hi Eliot,<br>
I noticed that some tests fail (with errors) when run under coverage<br>
with COG, while they succeed otherwise.<br>
In regular VM, no error whether coverage test or regular tests...<br>
An example is from<br>
<br>
MCHttpRepository<br>
        location: &#39;<a href="http://www.squeaksource.com/XTream" target="_blank">http://www.squeaksource.com/XTream</a>&#39;<br>
        user: &#39;&#39;<br>
        password: &#39;&#39;<br>
<br>
packages XTream-Core / XTream-CharacterCode /<br>
XTream-TextConverterCompatibility (optionnal) / XTream XTream-Tests<br>
<br></blockquote></div><div><br>Nicolas, the problem of the TestCoverage is because it uses method wrappers using &quot;Objects as methods&quot;...this is, using the run:with:with which was not originally supported in Cog.<br>

However, in this latest VM, Eliot has implement it. So...you need latest CogVM to run Coverage or any run:with:with. <br><br>Binary is <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2313/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r2313/</a><br>

<br>you are using THAT VM and have problems ?<br></div></div></blockquote><div><br></div><div>Yes.  Nicolas knows what he&#39;s doing.  There&#39;s a bug in my coding of primitiveObject:perform:withArguments:lookedUpIn: which is causing perform:withArguments: to fail if the target is an object-as-method.  I have a fix, but want to make some other changes as well, so you&#39;ll have to wait for a while :)</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><br>The only one I found in Pharo is using the one I already reported in this email.<br>
<br>Cheers<br><font color="#888888"><br>Mariano<br> </font></div><div><div></div><div class="h5"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

Nicolas<br>
<br>
2010/9/26 Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;:<br>
<div><div></div><div>&gt; I would appreciate anyone interested in objects-as-methods on Cog pounding<br>
&gt; on the latest Cog VMs (<a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2313/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r2313/</a>)<br>
&gt; as this involved substantial changes to method lookup/inline cacheing<br>
&gt; machinery and there could easily be bugs.  The tests run, but they&#39;re<br>
&gt; insubstantial compared e.g. to a full coverage test.<br>
&gt;<br>
&gt; best<br>
&gt; Eliot<br>
&gt; (repeat with fixed email address: squeakfountation =&gt; squeakfoundation)<br>
&gt; On Sat, Sep 25, 2010 at 9:20 PM,<br>
&gt; &lt;<a href="mailto:squeak-dev-noreply@lists.squeakfoundation.org" target="_blank">squeak-dev-noreply@lists.squeakfoundation.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Eliot Miranda uploaded a new version of VMMaker to project VM Maker:<br>
&gt;&gt; <a href="http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz" target="_blank">http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz</a><br>
&gt;&gt;<br>
&gt;&gt; ==================== Summary ====================<br>
&gt;&gt;<br>
&gt;&gt; Name: VMMaker-oscog.33<br>
&gt;&gt; Author: eem<br>
&gt;&gt; Time: 25 September 2010, 7:13:51 am<br>
&gt;&gt; UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf<br>
&gt;&gt; Ancestors: VMMaker-oscog.32<br>
&gt;&gt;<br>
&gt;&gt; OSCogVM:<br>
&gt;&gt;  Support object-as-method:<br>
&gt;&gt;        Eagerly evaluate the interpreter version of a primitive<br>
&gt;&gt;        to ease the object-as-method implementation and to<br>
&gt;&gt;        improve interpreter performance.<br>
&gt;&gt;        Refuse to enter anything that isn&#39;t a CompiledMethod<br>
&gt;&gt;        into the method-lookup cache to avoid open PICs having<br>
&gt;&gt;        to check for valid compiled methods.<br>
&gt;&gt;        Have various places check for isOopCOmpiledMethod:<br>
&gt;&gt;        rather than isCompiledMethod: to allow SmallIntegers to<br>
&gt;&gt;        be used as methods.<br>
&gt;&gt; Interpreter:<br>
&gt;&gt;        Have various places check for isOopCOmpiledMethod:<br>
&gt;&gt;        rather than isCompiledMethod: to allow SmallIntegers to<br>
&gt;&gt;        be used as methods.<br>
&gt;&gt; Slang:<br>
&gt;&gt;        support super sends by expanding them at translation<br>
&gt;&gt;        time.  This allows CoInterpreter&gt;&gt;addMethodToCache<br>
&gt;&gt;        to avoid cacheing non-compiled methods via a super<br>
&gt;&gt;        send, avoiding duplicating SrackInterpreter&#39;s method.<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div></div></div><br>
<br><br>
<br></blockquote></div><br>