[squeak-dev] Re: Creating an image from first principles

Paolo Bonzini bonzini at gnu.org
Fri Jul 11 08:41:07 UTC 2008


> Something like this is going to be full of subtleties, so maybe 
> simulation offers benefits that gestation doesn't. Any thoughts?

I like the simulation approach a lot; it is very similar to what GNU 
Smalltalk does to bootstrap its images, except that gst obviously uses C 
code rather than Smalltalk -- but that does not matter, it's just a 
different programming language.  If you're interested I have a few 
documents on how this is done; they're written in normal English so no 
GPL woes! >:->

As Craig pointed out, the devil is in the details of starting up all 
threads; but if this is done, I think it would benefit all of Squeak.

Note that you can have "doits" well before you finish bootstrapping the 
system.  You can run each doit in a separate Process and simulate until 
that process exits.

> It's class and pool variables that are tricky because even 
> Dictionary>>at: may not exist in the image that you're trying to compile 
> so doing the lookup directly in there would be quite tricky. It would be 
> doable if one assumed a particular organization of the classes (i.e., 
> the n-th iVar is the dictionary of class vars) and then interpreted it 
> externally but it seems like an unnecessary complication for an initial 
> bootstrap. 

That's what gst does, and it's not very complicated after all.

Paolo



More information about the Squeak-dev mailing list