On Wed, Apr 27, 2011 at 11:31 AM, Marcus
Denker
<marcus.denker@inria.fr>
wrote:
On Apr 24, 2011, at 5:12 PM, Mariano Martinez Peck wrote:
> grrrr I don't know what is happening. I am building a
PharoDev 1.3 and at the end, I do: Undeclared
removeUnreferencedKeys
> but this throws an error that I attach. It is a big loop
of such error.
> The progress bar is showing "Clean up in
DebuggerMethodMap"
>
So I added the DebuggerMethodMap intialize (reset the cache)
to Smalltalk cleanUp.
But why is that called when calling "Undeclared
removeUnreferencedKeys"?
Because the DebuggerMethodMap holds onto older versions of
methods and these can be sources of undeclared references.
If DebuggerMethodMap's collection of methods is properly weak
then this isn't an issue but in practice this belt-and-braces
approach is more robust.