Bert Freudenberg schrieb:
"Perm space" in VisualWorks is similar, but I don't know anything about its implementation.
- Bert -
Perm space differs from normal old spaces in VW in that it is not subject to garbage collection and compaction, so the amount of memory writes in perm space is reduced (the only writes can occur when slots in perm space objects are changed.) This means that perm space is pretty well sharable between multiple instances of an image (it's actually shared when it can be memory-mapped upon loading into the same memory region where it was when the image was saved, and AFAIK this is not supported on all VW platforms). The reduced garbage collection load is an advantage even for single-image applications.
To achieve somethin similar in Squeak, we would have to add an additional memory division in addition to the oldspace/youngspace one. The image file does not even have that division, all of it is considered old space after loading.
Cheers, Hans-Martin