[FIX] MethodAsObject also for perform:

gaelli at emergent.de gaelli at emergent.de
Fri Feb 20 17:50:48 UTC 2004


from preamble:

"Change Set:		MethodAsObject also for perform:
Date:			20 February 2004
Author:			Markus Gaelli

Needed Changes vor a new VM in which any wrapped perform: aSymbol gave a
primitive crash:
>From a mail from 8.1.2004:
Andreas acknowledged the bug already. He believes that some checking for
the right number
of parameters is only appropriate if the method at hand is a standard
compiled method.
He just does not have time for that right now.

Andreas Raab wrote:

Almost. The above is the problematic place and should be fixed with
(say)

    (self isCompiledMethod: newMethod) ifTrue:[
        self success: ((self argumentCountOf: newMethod) =
argumentCount).
    ].

and then

ObjectMemory>>isCompiledMethod: oop

    ^(self formatOf: oop) >= 12

Oh, and whoever does that can also fix #lookupMethodInDictionary to use
self isCompiledMethod: instead of the explicit format check.
"!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MethodAsObject also for perform:.cs.gz
Type: application/octet-stream
Size: 1845 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20040220/854878aa/cs.obj


More information about the Squeak-dev mailing list