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

Mariano Martinez Peck marianopeck at gmail.com
Sun Sep 26 12:59:39 UTC 2010


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?

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/65758f6c/attachment.htm


More information about the Vm-dev mailing list