Nicolas,<div><br></div><div>    thanks for this.  If possible can you localise this to uses of perform:?  Yesterday I noticed that there&#39;s a bug in my coding of primitiveObject:perform:withArguments:lookedUpIn: that breaks for object-as-method targets.  That would be great if it were the only bug.<br>
<br><div class="gmail_quote">On Mon, Sep 27, 2010 at 12:53 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@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;">
2010/9/27 Mariano Martinez Peck &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;:<br>
<div class="im">&gt;<br>
&gt;<br>
&gt; On Mon, Sep 27, 2010 at 8:38 PM, Nicolas Cellier<br>
&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Eliot,<br>
&gt;&gt; I noticed that some tests fail (with errors) when run under coverage<br>
&gt;&gt; with COG, while they succeed otherwise.<br>
&gt;&gt; In regular VM, no error whether coverage test or regular tests...<br>
&gt;&gt; An example is from<br>
&gt;&gt;<br>
&gt;&gt; MCHttpRepository<br>
&gt;&gt;        location: &#39;<a href="http://www.squeaksource.com/XTream" target="_blank">http://www.squeaksource.com/XTream</a>&#39;<br>
&gt;&gt;        user: &#39;&#39;<br>
&gt;&gt;        password: &#39;&#39;<br>
&gt;&gt;<br>
&gt;&gt; packages XTream-Core / XTream-CharacterCode /<br>
&gt;&gt; XTream-TextConverterCompatibility (optionnal) / XTream XTream-Tests<br>
&gt;&gt;<br>
&gt;<br>
&gt; Nicolas, the problem of the TestCoverage is because it uses method wrappers<br>
&gt; using &quot;Objects as methods&quot;...this is, using the run:with:with which was not<br>
&gt; originally supported in Cog.<br>
&gt; However, in this latest VM, Eliot has implement it. So...you need latest<br>
&gt; CogVM to run Coverage or any run:with:with.<br>
&gt;<br>
<br>
</div>Oh yes, sure, home compiled oscog.33, otherwise older versions would<br>
simply crash.<br>
<font color="#888888"><br>
Nicolas<br>
</font><div><div></div><div class="h5"><br>
<br>
&gt; 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>
&gt;<br>
&gt; you are using THAT VM and have problems ?<br>
&gt;<br>
&gt; The only one I found in Pharo is using the one I already reported in this<br>
&gt; email.<br>
&gt;<br>
&gt; Cheers<br>
&gt;<br>
&gt; Mariano<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Nicolas<br>
&gt;&gt;<br>
&gt;&gt; 2010/9/26 Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; I would appreciate anyone interested in objects-as-methods on Cog<br>
&gt;&gt; &gt; pounding<br>
&gt;&gt; &gt; on the latest Cog VMs<br>
&gt;&gt; &gt; (<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;&gt; &gt; as this involved substantial changes to method lookup/inline cacheing<br>
&gt;&gt; &gt; machinery and there could easily be bugs.  The tests run, but they&#39;re<br>
&gt;&gt; &gt; insubstantial compared e.g. to a full coverage test.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; best<br>
&gt;&gt; &gt; Eliot<br>
&gt;&gt; &gt; (repeat with fixed email address: squeakfountation =&gt; squeakfoundation)<br>
&gt;&gt; &gt; On Sat, Sep 25, 2010 at 9:20 PM,<br>
&gt;&gt; &gt; &lt;<a href="mailto:squeak-dev-noreply@lists.squeakfoundation.org">squeak-dev-noreply@lists.squeakfoundation.org</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Eliot Miranda uploaded a new version of VMMaker to project VM Maker:<br>
&gt;&gt; &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; &gt;&gt;<br>
&gt;&gt; &gt;&gt; ==================== Summary ====================<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Name: VMMaker-oscog.33<br>
&gt;&gt; &gt;&gt; Author: eem<br>
&gt;&gt; &gt;&gt; Time: 25 September 2010, 7:13:51 am<br>
&gt;&gt; &gt;&gt; UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf<br>
&gt;&gt; &gt;&gt; Ancestors: VMMaker-oscog.32<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; OSCogVM:<br>
&gt;&gt; &gt;&gt;  Support object-as-method:<br>
&gt;&gt; &gt;&gt;        Eagerly evaluate the interpreter version of a primitive<br>
&gt;&gt; &gt;&gt;        to ease the object-as-method implementation and to<br>
&gt;&gt; &gt;&gt;        improve interpreter performance.<br>
&gt;&gt; &gt;&gt;        Refuse to enter anything that isn&#39;t a CompiledMethod<br>
&gt;&gt; &gt;&gt;        into the method-lookup cache to avoid open PICs having<br>
&gt;&gt; &gt;&gt;        to check for valid compiled methods.<br>
&gt;&gt; &gt;&gt;        Have various places check for isOopCOmpiledMethod:<br>
&gt;&gt; &gt;&gt;        rather than isCompiledMethod: to allow SmallIntegers to<br>
&gt;&gt; &gt;&gt;        be used as methods.<br>
&gt;&gt; &gt;&gt; Interpreter:<br>
&gt;&gt; &gt;&gt;        Have various places check for isOopCOmpiledMethod:<br>
&gt;&gt; &gt;&gt;        rather than isCompiledMethod: to allow SmallIntegers to<br>
&gt;&gt; &gt;&gt;        be used as methods.<br>
&gt;&gt; &gt;&gt; Slang:<br>
&gt;&gt; &gt;&gt;        support super sends by expanding them at translation<br>
&gt;&gt; &gt;&gt;        time.  This allows CoInterpreter&gt;&gt;addMethodToCache<br>
&gt;&gt; &gt;&gt;        to avoid cacheing non-compiled methods via a super<br>
&gt;&gt; &gt;&gt;        send, avoiding duplicating SrackInterpreter&#39;s method.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div>