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