Hi everyone,
I recently ran into some trouble with CompiledMethod's TempNameCache. I investigated and found out that the cache is no longer read. The attached changeset removes the cache.
I was doing some experiments with image segments. The cache was holding onto the most recently compiled method. This caused problems when I wanted to include the method in my segment - it would stay as an "out pointer".
This changeset removes the cache.
From the preamble:
"Change Set: RemoveUnusedTempNameCache-bvs Date: 6 January 2005 Author: Benjamin Schroeder
CompiledMethod keeps a cache of temporary names for a single CompiledMethod instance. The cache is set after compilation and during certain debugger operations. However, it is never read.
Keeping the cache creates an extra reference to the most recently compiled method. This can be a problem in certain obscure situations, such as including the method in an image segment.
This changeset removes the cache."
Regards, Ben Schroeder <<RemoveUnusedTempNameCache-bvs.1.cs.gz>>
Cleaning up the Kernel is important.
The changes *look* ok but changing a class as important as CompileMethod would be easier if a step by step instruction on how to recreate the problem was provided
squeak-dev@lists.squeakfoundation.org