[squeak-dev] [ANN] SimulationStudio and sandboxed execution for Squeak

K K Subbu kksubbu.ml at gmail.com
Wed Mar 17 08:01:23 UTC 2021


On 16/03/21 7:40 pm, Thiede, Christoph wrote:
> image. By the way, is there already some research about unioning these 
> two worlds in order to reprogram the VM from within the image that is 
> running in it? I would love this.

Not to my knowledge. The closest is Eliot's Cog VM simulator. 
ObjectMemory requires lot of work to simulate variations in bitsize, 
byteorder, endianness etc.

> What are white-outs? I could not find any reference on this.
It is a term used in systems that do fork->edit->merge-commit. It marks 
deleted objects like the way dirty bit marks modified ones. 
copy-on-write (dirty) propagates down the fork chain while white-outs 
propagate up the chain during merge-commit.

For instance, when a directory is cached in RAM and one of its entry is 
deleted, the entry is marked as white-out until the cache is synced.

When an object copied over (loaned) from parent sandbox becomes garbage 
in the child sandbox it must not be finalized or we won't be able to 
commit deletes to the parent. It is marked 'white-out' so that it is no 
longer accessible in the child. When the changes are committed to the 
parent, the white-out is propagated into the parent for possible 
finalization. If the object is strictly local to child white-outs may be 
dropped and the object is subject to the usual GC.

> For some I/O primitives, however, virtualization is rather easy. For 
> example, when writing on the global Display, you can simply copy this 
> object like any other object into your sandbox space/world. However, 
> other primitives, such as from the FilePlugin, operate on state is 
> managed outside of the image ...

This is a reasonable limitation of sandbox but is not a show-stopper for 
merge-commit feature. Now that memory is so affordable, speculative 
simulation can be a valuable feature even with this limitation.

Regards .. Subbu


More information about the Squeak-dev mailing list