[Vm-dev] Cuis Spur preview

Luciano Notarfrancesco luchiano at gmail.com
Mon Aug 1 18:03:23 UTC 2016

Wow, amazing! Thanks so much!

On Sat, Jul 30, 2016 at 9:05 PM, Juan Vuletich <JuanVuletich at zoho.com>

> Hi Eliot, Folks,
> Eliot and I have been been working a bit, over some time, to make Cuis
> compatible with the Spur VMs. We prepared together the changes required to
> make the Cuis image ready for the Spur bootstrap process (also used for
> Newspeak, Squeak and Pharo). Eliot made any necessary changes to the Spur
> bootstrap to also handle Cuis. (Eliot, you might want to give additional
> details on what was required here?).
> The result of the Spur bootstrap was a Cuis image that could start, but
> could do little else. Compiler and Decompiler were broken, so fixing was
> hard.
> Then I came with the idea of doing the same I did when converting Cuis to
> Closures: Have two Compilers loaded, and switch between them easily. So, I
> added the necessary changesets to the "PreSpurBootstrap" stage, adding a
> verbatim copy of Squeak's Compiler, and making it active. The result of the
> Spur bootstrap was now a Cuis image that could not only start, but also
> browse and modify code. There were still many rough edges, but now they can
> be fixed from within the image, as we usually do. I fixed the most obvious
> ones, as part of "PostSpurBootstrap".
> The resulting image is available at
> https://www.dropbox.com/sh/45vub8hnq1riq10/AADDKBWsIvPfUNqjuz91PW7Ra/CuisSpurPreview?dl=0
> . The "PreSpurBootstrap" and "PostSpurBootstrap" changesets are there too,
> meaning that anybody can reproduce the procedure, and suggest fixes and
> enhancements.
> This is not yet good enough to be added to the Cuis update stream. These
> are some of the things that are missing:
> - Merge both Compilers into just one, that handles Cuis specific details
> correctly, but also includes any updates required for Spur.
> - Check Decompiler. Decompile and recompile the code for all the system.
> - Make the very same source code for the whole system work both for V3 and
> Spur images. To build the Spur Cuis image, at the correct update number,
> the image is converted to Spur, and then run with a Spur VM, and the
> following updates are applied. To build a V3 image, the image is never
> converted to spur, and the very same updates are applied, always running
> with a non-Spur VM. This is not currently working, but I think it is
> possible, and allows both Spur and non-Spur Cuis images without forking.
> - Check that optional packages work.
> - Enable SmallFloat64, both as result of arithmetic, but also as literals
> in methods.
> - Many details I'm not remembering right now, or I'm not aware of.
> Eliot, let me than you for your wonderful work on Cog, Spur and Sista, for
> supporting Cuis along with the other OpenSmalltalk systems, and for guiding
> and encouraging me to keep Cuis up to date with latest VM technology.
> Cheers,
> --
> Juan Vuletich
> www.cuis-smalltalk.org
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> @JuanVuletich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160801/28f9c789/attachment-0001.htm

More information about the Vm-dev mailing list