Here is what an ImageSnapshot looks like in Squeak.
I put the changes in the VMMaker inbox in case people think this is a horrible idea.
Dave
On Sat, May 04, 2019 at 01:23:03PM +0000, commits@source.squeak.org wrote:
David T. Lewis uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker-dtl.401.mcz
==================== Summary ====================
Name: VMMaker-dtl.401 Author: dtl Time: 4 May 2019, 9:22:54.649 am UUID: c8ffe0ea-c3b8-4f49-8343-df16ac0656ea Ancestors: VMMaker-dtl.400
VMMaker 4.16.6 Primitive support for snapshot objects, answering object memory and header as in-image objects. Instead of disk-based snapshot file. Currently implemented in ContextInterpreter.
"ImageSnapshot new"
The primitives are: #primitiveInterpreterStateSnapshot - snapshot the header information #primitiveMemoryCopy - snapshot the memory #primitiveMemorySnapshotBytesWithHeader - snapshot memory bytes and header #primitiveMemorySnapshotWithHeader - snapshot memory bitmap and header
mage side support package ImageFormat in http://source.squeak.org/VMMaker: ImageFileHeader fromValues: ImageFileHeader primInterpreterStateSnapshot. ImageFileHeader primMemoryCopy.
Image side support from package ImageSnapshot in http://www.squeaksource.com/ImageSnapshot: ImageSnapshot basicNew getSnapshot. ImageBitmapSnapshot basicNew getSnapshot.
Snapshot to disk, equivalent to normal snapshot: ImageSnapshot new saveAs: 'newimage.image'
=============== Diff against VMMaker-dtl.400 ===============