Nicolas,<div><br></div><div> thanks for this. If possible can you localise this to uses of perform:? Yesterday I noticed that there'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"><<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>></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 <<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>>:<br>
<div class="im">><br>
><br>
> On Mon, Sep 27, 2010 at 8:38 PM, Nicolas Cellier<br>
> <<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>
>><br>
>> 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: '<a href="http://www.squeaksource.com/XTream" target="_blank">http://www.squeaksource.com/XTream</a>'<br>
>> user: ''<br>
>> password: ''<br>
>><br>
>> packages XTream-Core / XTream-CharacterCode /<br>
>> XTream-TextConverterCompatibility (optionnal) / XTream XTream-Tests<br>
>><br>
><br>
> Nicolas, the problem of the TestCoverage is because it uses method wrappers<br>
> using "Objects as methods"...this is, using the run:with:with which was not<br>
> originally supported in Cog.<br>
> However, in this latest VM, Eliot has implement it. So...you need latest<br>
> CogVM to run Coverage or any run:with:with.<br>
><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>
> 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>
><br>
> The only one I found in Pharo is using the one I already reported in this<br>
> email.<br>
><br>
> Cheers<br>
><br>
> Mariano<br>
><br>
>><br>
>> Nicolas<br>
>><br>
>> 2010/9/26 Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>>:<br>
>> > I would appreciate anyone interested in objects-as-methods on Cog<br>
>> > pounding<br>
>> > on the latest Cog VMs<br>
>> > (<a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2313/" target="_blank">http://www.mirandabanda.org/files/Cog/VM/VM.r2313/</a>)<br>
>> > as this involved substantial changes to method lookup/inline cacheing<br>
>> > machinery and there could easily be bugs. The tests run, but they're<br>
>> > insubstantial compared e.g. to a full coverage test.<br>
>> ><br>
>> > best<br>
>> > Eliot<br>
>> > (repeat with fixed email address: squeakfountation => squeakfoundation)<br>
>> > On Sat, Sep 25, 2010 at 9:20 PM,<br>
>> > <<a href="mailto:squeak-dev-noreply@lists.squeakfoundation.org">squeak-dev-noreply@lists.squeakfoundation.org</a>> wrote:<br>
>> >><br>
>> >> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:<br>
>> >> <a href="http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz" target="_blank">http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz</a><br>
>> >><br>
>> >> ==================== Summary ====================<br>
>> >><br>
>> >> Name: VMMaker-oscog.33<br>
>> >> Author: eem<br>
>> >> Time: 25 September 2010, 7:13:51 am<br>
>> >> UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf<br>
>> >> Ancestors: VMMaker-oscog.32<br>
>> >><br>
>> >> OSCogVM:<br>
>> >> Support object-as-method:<br>
>> >> Eagerly evaluate the interpreter version of a primitive<br>
>> >> to ease the object-as-method implementation and to<br>
>> >> improve interpreter performance.<br>
>> >> Refuse to enter anything that isn't a CompiledMethod<br>
>> >> into the method-lookup cache to avoid open PICs having<br>
>> >> to check for valid compiled methods.<br>
>> >> Have various places check for isOopCOmpiledMethod:<br>
>> >> rather than isCompiledMethod: to allow SmallIntegers to<br>
>> >> be used as methods.<br>
>> >> Interpreter:<br>
>> >> Have various places check for isOopCOmpiledMethod:<br>
>> >> rather than isCompiledMethod: to allow SmallIntegers to<br>
>> >> be used as methods.<br>
>> >> Slang:<br>
>> >> support super sends by expanding them at translation<br>
>> >> time. This allows CoInterpreter>>addMethodToCache<br>
>> >> to avoid cacheing non-compiled methods via a super<br>
>> >> send, avoiding duplicating SrackInterpreter's method.<br>
>> >><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>><br>
><br>
><br>
><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>