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

Eliot Miranda eliot.miranda at gmail.com
Sun Sep 26 14:59:25 UTC 2010


On Sun, Sep 26, 2010 at 5:59 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

>
>
>
> On Sun, Sep 26, 2010 at 1:45 PM, stephane ducasse <
> stephane.ducasse at gmail.com> 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?
>

Leave the test be.  The test should not fail.  I should fix Cog.  Now I have
the difficult part done fixing related should not take as long.

But I don't see this failure in the Squeak tests.  Can you email me the
Pharo version of Tests-ObjectsAsMethods?

TIA


>
> 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.
>> >
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100926/db25593b/attachment.htm


More information about the Vm-dev mailing list