[FIX] MethodAsObject also for perform: ([closed] superseded by
fix from today)
Markus Gaelli
gaelli at emergent.de
Mon Mar 8 07:25:59 UTC 2004
Am Freitag, 20.02.04 um 18:50 Uhr schrieb gaelli at emergent.de:
> 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.
> "!
> <MethodAsObject also for perform:.cs.gz>
More information about the Squeak-dev
mailing list
|