focus on code?
Florin Mateoc
fmateoc at gmail.com
Sat Mar 5 22:19:26 UTC 2005
I agree very much with Lex.
Especially since, as is obvious from his message, he is not so much
talking about source code, but about its in-image compiled
representation (and its holders). In this interpretation, code (classes,
with their definitions and methods) is a major invariant in a Smalltalk
image, it is what makes the quasi-permanent part of the object memory,
and for the most part, it constitutes the roots for holding everything else.
The only other significant kind of root is non-class globals, which are
indeed also worth focusing on, but which also have (or if they don't,
they should :)), for the most part, a code definition
((re)initialization) somewhere.
So it's not just that code is a common case. It is also the most likely
candidate for being _the_ non-garbage collectable reference to all these
other generic objects that we might want to include in a module.
I would agree though that code-centered entities like Envy applications,
or, closer to what we seem to want (as they are binary, independently
deployable units), VW parcels, err by not paying enough attention to the
non-code aspects (globals and other pre-initialized objects). We do need
a solution (and re-initialization from code is not good enough in the
general case) for loading/unloading globals. I have not used
ImageSegments, but I assume they would fill that gap nicely.
Florin
More information about the Modules
mailing list