=== Top of the Swiki === Attachments ===
Maximum Squeak
Stuff that has something to do with speed of execution.
{See also: Virtual Machine Hacking}
- Optimized Interpreter: Things done in the CCodeGenerator such as in-lining, localizing variables. Or the ContextCache stuff done by Ian Piumarta.
- Roll-Your-Own Primitives: Learn how in "The Do-It-Yourself Guide to Squeak Primitives" by Stephen Travis Pope at http://www.create.ucsb.edu/squeak/DIYSqPrims.html
- Named Primitives: Learn how to write plugins for the Squeak VM in Smalltalk using Squeak 2.3's nifty new "pluggable primitive" feature with Andrew C. Greenberg's precis: Named Primitives.
- Specifications for Named Primitives: Version 2.6 of Squeak includes a new-and-improved named primitive compiler that makes it much, much easier to build pluggable primitives. Andrew C. Greenberg has posted preliminary documentation of the Specifications for Named Primitives.
- TypedSmalltalk: RalphJohnson worked on this several years ago. Maybe if we ask sweetly enough, we might be able to persuade him to dig the code out and make it available :-).
- Hans-Martin Mosner's DynamicPrimitives Direct generation of native machine code from the Smalltalk subset used by the CCodeGenerator.
- Ian Piumarta's Jitter VM using DynamicTranslation to ThreadedCode. First released for Squeak 1.31. [It has a serious bug in the way it caches the structure of classes. If you write code that redefines a class with many subclasses, you may crash shortly afterwards. I have written test code that crashes it every time. Ian has not released Jitter for 2.0 or 2.1. He is working on a from-scratch new one. Presumably it will not have the cache bug. -- Ted Kaehler]