I’m a loooong-time Smalltalk VM implementor and systems programmer having written my first VM in 1983. I was lucky enough to work on Peter Deutsch’s HPS VM for VisualWorks throughout the 90′s and early 2000′s and essentially double its speed (mostly by adding polymorphic inline caches and rearchitecting its mapping of contexts to stacks). I was technical lead for VisualWorks from vw 3.0 through vw 7.4.1, leaving at the and of 2006. Amongst other things I invented method pragmas/method tags as seen in VisualWorks and Squeak. I spent an all too brief but stimulating time at Cadence in Gilad Bracha’s Newspeak team, and then went to Teleplace (née Qwaq) where I was free to implement another fast VM for Croquet, a 3d immersive collaboration architecture built above Squeak Smalltalk, but this time (unlike VisualWorks) the VM is open source. I returned to Cadence early in 2011 where I’m working for Yaron Kashai on system-on-a-chip design support in Newspeak running above the Cog VM.
This blog is intended to communicate the design and evolution of the Cog VM to the community at large, amongst collaborators and spectators alike.