Storing Squeak Images in mercurial

Hans-Martin Mosner hmm at heeg.de
Fri Sep 28 07:15:33 UTC 2007


Keith Hodges schrieb:
> It would be advantageous for storing binary diffs if images did not
> change much between snapshots.
>
> I seem to remember some mention that the image may have its pointers
> updated and so this would not be the case.
>
> can anyone fill me in on the details?
>
> Would it be possible to save or post process a "sorted" image to take
> full advantage of a repository which uses binary diffs?
Assuming that most unchanged image content should be within the oldest
parts of an image, which accumulate at low memory addresses, there's a
possibility:
Images are mostly a snapshot of the object memory, with all addresses
kept as they are. When re-loading an image at a different memory base
address, all object pointers get updated by the difference between old
and new base. It should be relatively easy to move a saved image file to
memory address 0 (I think the interpreter simulator does this). Two
related images with the same base address probably have only small
differences in the lower memory addresses. I have not tried this, but it
could work.

Cheers,
Hans-Martin



More information about the Squeak-dev mailing list