Am 04.06.2006 um 10:14 schrieb Herbert König:
Hello Mathieu,
HK> Another option is (not tested myself): HK> SmalltalkImage current snapshot: true andQuit:false. HK> self inform: yourStartupMessge.
forgot to tell you: this has to be done in a workspace with a _single_ doIt.
From Stef's reply I learned why this works. The instruction pointer
will just continue where it left off in snapshot:andQuit.
Indeed, "saving an image" actually just freezes the execution inside the snapshot:andQuit: method. It's like hibernating your laptop computer - you just resume wherever you where before. The difference to modern computers though is that there *is* no way to cold-boot. The current Squeak image is actually running continuously for the last 10 years, only temporarily suspended to disc, so to say. There are 10 year old objects in the image, literally!
And even that image was not boot-strapped, but cloned from a Smalltalk-80 image. I think the last actual bootstrapping happened before 1976, so you could say we work with bits that are 30 years old. Next time you see nil, say hi to a very old friend ;-)
- Bert -