Micro Squeak

Luciano Notarfrancesco lnotarfrancesco at yahoo.com
Tue Mar 27 19:07:51 UTC 2001


--- Tim Rowledge <tim at sumeru.stanford.edu> wrote:
> 
> 
> Luciano Notarfrancesco wrote:
> > 
> > I'm trying to build a very small Squeak. I have
> > built a VM under 70k, and I think I can make it
> > even smaller. 
>
> What have you done to make the vm that small? Last
> time I loked, a fully external modularized VM on the
> Acorn was ~100k, but that was before Andreas did the
> hacks to make the misc primitives,
> sound generation and sound codec plugins seperable.
> Actually, I guess with those external and
> the vm not inlined (which didn't work last time I
> tried) it might well go down to 70kb.
> 

Well... actually I removed all I/O primitives,
including file system, network, display and sound
primitives. I also removed named primitives. From
there, I produced a not-inlined interpreter, compiled
optimizing for size, and then striped out symbols.
That alone was enough to get a 70kb vm. Latter I was
able to get a 60kb vm removing some other debuging
stuff. I think that the next step to get it even
smaller would be to start changing the ObjectMemory...
but I'm not sure I want to do that.

Removing all I/O primitives might seem a little bit
drastic, but that's part of a plan to implement almost
all hardware drivers in Squeak. In SqueakNos we have
only a few primitives for doing in/out with hardware
ports, and to add a hardware interrupt handler (each
time we get an interrupt request we signal a Semaphore
and handle the irq in the image, not in the vm, so we
have full control of the hardware from within Squeak).
We'll add a primitive for doing BitBlt to/from a
memory address outside of the object memory, such as
video memory.

Luciano.-

__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/?.refer=text





More information about the Squeak-dev mailing list