method dictionary lookups and walking up the inheritance tree

John M McIntosh johnmci at
Tue May 16 19:05:46 UTC 2006

I'll note the cache is very efficient, someone a few years back  
attempted to make some changes and make the cache much much bigger
In testing on various platforms we could not show any improvement in  
the standard benchmarks  to justify the additional memory requirements.

On 16-May-06, at 11:54 AM, Michael Haupt wrote:

> Hi Andreas,
> On 5/16/06, Andreas Raab <andreas.raab at> wrote:
>> Your observation is incorrect. The superclass' method dictionary will
>> not be copied. What you see in ClassBuilder is that the method
>> dictionary of an "old version" of the class is being copied. This is
>> necessary to support class migration, e.g., adding and removing
>> variables in a class or one of its superclasses.
> indeed; Tim Rowledge has pointed this out on the Squeak-dev list
> already. Next time I'll look a little closer. :-)
> So, the only optimisation that is performed for method lookups is the
> method cache in the Interpreter, right? Is it correct that its size is
> initialised to 512 entries (I'm not sure; I found that in
> InterpreterSimulator)?
> Are there other optimisations that one could implement, e.g., as a
> first step in Squeak VM hacking? Not that I had myself in mind... ;-)
> Best,
> Michael

John M. McIntosh <johnmci at> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.

More information about the Vm-dev mailing list