Re: [Vm-dev] VM Maker: VMMaker-oscog.33.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] VM Maker: VMMaker-oscog.33.mcz

Eliot Miranda-2
I would appreciate anyone interested in objects-as-methods on Cog pounding on the latest Cog VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2313/) as this involved substantial changes to method lookup/inline cacheing machinery and there could easily be bugs.  The tests run, but they're insubstantial compared e.g. to a full coverage test.

best
Eliot

On Sat, Sep 25, 2010 at 9:20 PM, <[hidden email]> wrote:

Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz

==================== Summary ====================

Name: VMMaker-oscog.33
Author: eem
Time: 25 September 2010, 7:13:51 am
UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf
Ancestors: VMMaker-oscog.32

OSCogVM:
 Support object-as-method:
       Eagerly evaluate the interpreter version of a primitive
       to ease the object-as-method implementation and to
       improve interpreter performance.
       Refuse to enter anything that isn't a CompiledMethod
       into the method-lookup cache to avoid open PICs having
       to check for valid compiled methods.
       Have various places check for isOopCOmpiledMethod:
       rather than isCompiledMethod: to allow SmallIntegers to
       be used as methods.
Interpreter:
       Have various places check for isOopCOmpiledMethod:
       rather than isCompiledMethod: to allow SmallIntegers to
       be used as methods.
Slang:
       support super sends by expanding them at translation
       time.  This allows CoInterpreter>>addMethodToCache
       to avoid cacheing non-compiled methods via a super
       send, avoiding duplicating SrackInterpreter's method.



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] VM Maker: VMMaker-oscog.33.mcz

Eliot Miranda-2
I would appreciate anyone interested in objects-as-methods on Cog pounding on the latest Cog VMs (http://www.mirandabanda.org/files/Cog/VM/VM.r2313/) as this involved substantial changes to method lookup/inline cacheing machinery and there could easily be bugs.  The tests run, but they're insubstantial compared e.g. to a full coverage test.

best
Eliot

(repeat with fixed email address: squeakfountation => squeakfoundation)

On Sat, Sep 25, 2010 at 9:20 PM, <[hidden email]> wrote:

Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://www.squeaksource.com/VMMaker/VMMaker-oscog.33.mcz

==================== Summary ====================

Name: VMMaker-oscog.33
Author: eem
Time: 25 September 2010, 7:13:51 am
UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf
Ancestors: VMMaker-oscog.32

OSCogVM:
 Support object-as-method:
       Eagerly evaluate the interpreter version of a primitive
       to ease the object-as-method implementation and to
       improve interpreter performance.
       Refuse to enter anything that isn't a CompiledMethod
       into the method-lookup cache to avoid open PICs having
       to check for valid compiled methods.
       Have various places check for isOopCOmpiledMethod:
       rather than isCompiledMethod: to allow SmallIntegers to
       be used as methods.
Interpreter:
       Have various places check for isOopCOmpiledMethod:
       rather than isCompiledMethod: to allow SmallIntegers to
       be used as methods.
Slang:
       support super sends by expanding them at translation
       time.  This allows CoInterpreter>>addMethodToCache
       to avoid cacheing non-compiled methods via a super
       send, avoiding duplicating SrackInterpreter's method.



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] VM Maker: VMMaker-oscog.33.mcz

Stéphane Ducasse
In reply to this post by Eliot Miranda-2
Thanks Eliot

Here this is the total pressure. Deadline yesterday and some for a week. So I hope that we will be back on track soon.
Marcus will certainly check because this is something really important for us.
Alex too.

Stef



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


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] VM Maker: VMMaker-oscog.33.mcz

Mariano Martinez Peck
In reply to this post by Eliot Miranda-2


On Sun, Sep 26, 2010 at 1:45 PM, stephane ducasse <[hidden email]> wrote:

Eliot

I wanted to understand what: '  Have various places check for isOopCOmpiledMethod:
rather than isCompiledMethod: to allow SmallIntegers to be used as methods.'
means
       in which circumstances do we want to have smalltalkIntegers used as methods?
       when we put an object instead of a compiled method and that by accident this is an integer?



Eliot, first of all, thanks A LOT!!!  This is really important for us....wiiii we have TestCoverage again :)

BTW, I think I found something related to what Stef says....In normal squeakVM :

testAddNumbers
    self assert: (self add: 3 with: 4) = 7.
    self assert: (self perform: #add:with: withArguments: #(3 4)) = 7.

this is ok, since (self perform: #add:with: withArguments: #(3 4))  answers 7.
But with this new CogVM, there is a primitiveError.

so...we can update the test to:

    self should: (self perform: #add:with: withArguments: #(3 4)) rise: Error.

or something like that....but this test will fail with normal VM..

what we should do?

thanks

mariano
 
Stef


>
>
> Name: VMMaker-oscog.33
> Author: eem
> Time: 25 September 2010, 7:13:51 am
> UUID: 733b7c50-b973-4ca0-9831-5c84d09032bf
> Ancestors: VMMaker-oscog.32
>
> OSCogVM:
>  Support object-as-method:
>       Eagerly evaluate the interpreter version of a primitive
>       to ease the object-as-method implementation and to
>       improve interpreter performance.
>       Refuse to enter anything that isn't a CompiledMethod
>       into the method-lookup cache to avoid open PICs having
>       to check for valid compiled methods.
>       Have various places check for isOopCOmpiledMethod:
>       rather than isCompiledMethod: to allow SmallIntegers to
>       be used as methods.
> Interpreter:
>       Have various places check for isOopCOmpiledMethod:
>       rather than isCompiledMethod: to allow SmallIntegers to
>       be used as methods.
> Slang:
>       support super sends by expanding them at translation
>       time.  This allows CoInterpreter>>addMethodToCache
>       to avoid cacheing non-compiled methods via a super
>       send, avoiding duplicating SrackInterpreter's method.
>



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: [Vm-dev] VM Maker: VMMaker-oscog.33.mcz

Nicolas Cellier
In reply to this post by Eliot Miranda-2
Hi Eliot,
I noticed that some tests fail (with errors) when run under coverage
with COG, while they succeed otherwise.
In regular VM, no error whether coverage test or regular tests...
An example is from

MCHttpRepository
        location: 'http://www.squeaksource.com/XTream'
        user: ''
        password: ''

packages XTream-Core / XTream-CharacterCode /
XTream-TextConverterCompatibility (optionnal) / XTream XTream-Tests

Nicolas

2010/9/26 Eliot Miranda <[hidden email]>:

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

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project