Squeak Trunk V3 Update Stream
Last updated at 7:36 pm UTC on 4 March 2018
The Squeak Trunk V3 Update Stream is hosted at Squeak Trunk V3 Update Stream and is maintained by Dave Lewis.
As of Squeak 5.0 Release Notes, trunk development has proceeded on the new Spur image format.
Squeak 4.6, which was released immediately prior to 5.0, is the last released image in the V3 image format.
Because of basic changes in the image format and associated VMs, it is not possible to update a Squeak 4.6 image directly from the trunk update stream.
This project provides an update stream with V3 versions of the packages that diverge for Spur. The V3 versions of the Collections, Kernel, System, and Compiler packages are maintained in parallel with their Squeak trunk versions, along with certain (hopefully) temporary updates to Files and Monticello needed to maintain the update stream.
Update maps are named update.V3. To adopt this update stream beginning with a fully updated Squeak 4.6 image, use the preferences browser to set the update URL to http://www.squeaksource.com/TrunkUpdateStreamV3 and set the update map name to update.V3.
Naming conventions: To the extent possible, the version numbers in TrunkUpdateStreamV3 correspond to matching versions in Squeak trunk. For example, Kernel.V3-dtl.1146.mcz is the version for Squeak V3 images that corresponds to Kernel-eem.1146.mcz for Spur images in Squeak trunk. In addition, the configuration map numbers match, such that update.V3-dtl.429.mcm in TrunkUpdateStreamV3 corresponds to update-eem.429.mcm in Squeak trunk. These conventions are maintained to allow Monticello browsers to easily compare the differences between V3 and Spur for each package.
For an alternative approach to maintaining an image that works with both the Spur object memory format and the traditional Squeak V3 object format, see the
Cuis project hosted on GitHub. Cuis maintains a single source code base that maintains full compatibility for both Spur and traditional V3 object formats, that that runs on a full range of classic and Cog/Spur VMs. In contrast, this V3 update stream maintains the image format differences separately from the main Squeak trunk development stream.
Update as of 17 February 2018 (dtl): I am still maintaining this update stream, along with the classic VM that runs it (see VM Recipe: How to build an interpreter VM on Linux for instructions). The 32-bit V3 image also runs under Cog VMs. As of this writing, there are five packages that require differences in this update stream:
Of these, the difference in Files is a trivial backward compatibility issue, and the Compiler differences are probably just bit rot for V3 images that could be corrected to eliminate the differences.
A fully updated image from this update stream is sure to have bugs, but is generally compatible with Squeak trunk and can serve as a useful reference for comparing performance of Cog and and the Spur image with traditional V3 image and interpreter VM.
Note: A 32-bit V3 image can normally be traced to the 64-bit V3 image, and both 32-bit and 64-bit versions will work with a classic interpreter VM. However, the image tracer needs some updates to accommodate recent changes in CompiledMethod and friends, so the latest trunk level 64-bit V3 image is temporarily unavailable.