VMMaker (was Re: Stable Squeak?)

Tim Rowledge tim at sumeru.stanford.edu
Mon Apr 30 17:37:33 UTC 2001


"phiho.hoang" <phiho.hoang at home.com> is widely believed to have written:

> After some discussion with Andreas (off line) and reading the Plugin Swiki
> (pointer from Andreas)
> http://minnow.cc.gatech.edu/squeak/1448,
I just updated this a tiny bit to correct the description of the unix
socket polling hook.
> I think I have a proposal for
> _another_ simple, uniform and right (hopefully, with help from all
> interested in the VM ;-) way to create a _really_ minimal VM and to handle
> the plugins.
If you want a _really_ minimal vm, there aren't many things left to move
out into plugins:-

window/os stuff - ie what is typically in sq{plat}Window.c A lot of it
could be in a plugin I suspect.
the interpreter - since the jitter is a plugin, maybe the plain
interpreter ought to be, so you can hook to whichever one is there.
the object memory - probably quite a project to separate out from the
plain interpreter, but potentially worthwhile since you could then
implement a different model if you need, say, transaction rollback
semantics or whatever.

On my Acorn, the core vm consists of interp.c, window.c, event.c,
argumnenhandling.c and externalprims.c and is 128kb with an inlined
interp.c which is quite reasonable. It's also 10% faster than aving
everything builtin.

One remaining little appendix that couldbe removed someday soon is the
pair of vm tables that translate the obsolete indexed and named
primitives. There might be 10kb to remove I guess.

tim
-- 
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful random insult:- Both oars in the water, but on the same side of the boat.





More information about the Squeak-dev mailing list