The implementation of the VM follows the Implementation section of the Blue Book. The Blue Book definition was the starting point for defining the Squeak VM – from the beginning, the idea was to develop, simulate, and test the Squeak VM within Squeak as Squeak code – since the Blue Book defines a complete Smalltalk VM using Smalltalk code, it was the ideal starting point (also, the VM defined in the Blue Book is for the original release of the Xerox PARC Smalltalk Virtual Image, which was the direct ancestor of the Squeak image).

The Cog VM extends the VM with context-to-stack mapping and a just-in-time compiler that together provide a significant speedup over the original interpreted VM.

Question: To what extent does the Squeak VM follow the Blue Book VM definition? Hannes Hirzel

The bytecodes are are fairly close, function-wise, though a few are added or extended in Squeak. The garbage collection changed almost completely, and the object memory no longer uses indirection through an object table but instead uses direct references to objects. The original VM was 16 bits – all of which has been updated to 32 bits in one way or another. The primary changes made to create the Squeak VM are covered fairly well in the original Back to the Future paper. Now, of course, the use of numbered primitives has been replaced by named primitives. – Dwight Hughes