[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] Memory leaks - how to find them?

From: MSA or SJF
Subject: Re: [Help-smalltalk] Memory leaks - how to find them?
Date: Tue, 27 May 2003 10:44:19 -0700 (PDT)

--- Bonzini <address@hidden> wrote:
> > Hmm, so I'm having a look at recreating blox
> windows on image restart,
> > rather than simply abandoning them.
> Very kewl :-)

When I've tidied it up, I'll post it, if you're

> There is no primitive yet in GNU Smalltalk to find
> the owners of a particular object.
> This might be the right input to add it.  

It would be very useful, I think. I did try writing
code to do this in Smalltalk, but it was misguided - I
got references from the MethodContext back to the
object, and it became very messy.

> But in
> this case the culprit is probably some
> class variable of BWindow or of the equivalent
> browser object (IIRC, BrowserShell).

Well, I did have a good look at BWindow TopLevel and
BrowserMain Windows, but emptying them does not help.
TopLevel is set to nil on startup already. I didn't
notice any class variable in BrowserShell, but I'll
take another look.

> Note that an evaluation does create CompiledMethods
> and MethodInfos to compile, an
> Array to hold the literals in the method, and
> CallinProcesses and MethodContexts to
> evaluate.  The notification of the system doing a
> snapshot is also causing more code to
> be executed.  The BlockClosures, Strings and
> VFS.CStatStructs are probably created by
> #allSubinstancesDo:.

Yes, understood. I was trying to say that, on each
startup / snapshot / quit iteration, I would expect
the objects created by the previous iteration to get
garbage collected, and the same number of new ones
created, so it should balance out to zero. As I say, I
only ran two iterations, so it might not have quite
got there.

Oh, I forgot - I'm still on 2.1pre - my internet
connection's been down for a while, so I've not yet



Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]