[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