[Vm-dev] Primitive table support for running older images
David T. Lewis
lewis at mail.msen.com
Mon Dec 26 16:23:14 UTC 2016
On Thu, Dec 22, 2016 at 04:40:51PM +0100, Bert Freudenberg wrote:
>
> On Thu, Dec 22, 2016 at 3:50 AM, David T. Lewis <lewis at mail.msen.com> wrote:
>
> >
> > Given that the numbered primitive assignments
> > > > change over time, and old primitives need to be retired to make room
> > for
> > > > the new, how best to provide continued support for older images with a
> > > > current VM?
> >
>
> In SqueakJS I have a single flag oldPrims to switch between two set of
> primitives. This appears to work fine all the way back to Squeak 1.x. The
> flag is set based on whether the image format has closures or not.
>
> Just search for "oldPrims" in
> https://github.com/bertfreudenberg/SqueakJS/blob/master/vm.js
>
I did some further digging into the various versions of the primitive table
to be found on files.squeak.org and the VMMaker repository. I'm not sure
if this is of any general interest, but the attached change set contains
everything I could find going back to Squeak 1.1 from 1996.
Preamble:
"Change Set: PrimitiveTableHistory-dtl
Date: 26 December 2016
Author: David T Lewis
PrimitiveTableHistory shows history and differences between versions of the primitive table.
Browse all recorded changes:
PrimitiveTableHistory enumerate
Changes from last pre-closure version to present:
PrimitiveTableHistory differenceFrom: self lastPreClosuresVersion to: PrimitiveTableHistory current
Early versions through Squeak 3.0 are extracted from changes and sources files
found on files.squeak.org. After Squeak 3.0 the VM was maintained externally.
Beginning in 2004, the VM was maintained in Monticello. Versions between Feb
2001 and Feb 2004 are not recorded here.
"
Dave
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PrimitiveTableHistory-dtl.1.cs.gz
Type: application/octet-stream
Size: 12798 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20161226/6a69d29a/attachment.obj>
More information about the Vm-dev
mailing list