Eliot Miranda wrote:
The VM is modular by design, i.e., by using plugins. The most minimal VM at this point is decidedly the Android VM, see http://code.google.com/p/squeak-android-vm/source/browse/trunk/project/jni/ From this VM you could still remove the B2DPlugin, LargeIntegers, MiscPrimPlugin, and ZipPlugin. That's pretty damn minimal (the binary is 300k in size).
I would definitely /not/ remove LargeIntegers (core arithmetic) or ZipPlugin (method trailers, loading/unloading compressed files).
Oh, for sure. That's why they're in there :-) Ditto for MiscPrimPlugin (which has some of the string comparison prims) and B2DPlugin is required due to the heavy use of gradients and stuff.
The above is close to the smallest set of plugins if you don't require I/O. If you do, you would definitely add SocketPlugin (which is on my shortlist for the Android VM).
Cheers, - Andreas