Toward a great Mini Squeak for PDA's

Maloney johnm at wdi.disney.com
Fri Sep 25 16:32:20 UTC 1998


Hi, Mike:

At 12:32 PM -0700 9/24/98, wirth at almaden.ibm.com wrote:
>A couple comments:
>* With respect to the porting (handwritten C) code, will your target be the
>Mac?  That is, for each version of your Mini-Squeak, will we have the
>equivalent of the SqMinimal.c file that John Maloney produced several
>months ago?
>* I hope there will be some configuration options.  For example, we'd like
>to leave the networking code in our builds.

The focus of Dan's current effort is to shrink the image, not the
VM source code. However, I do plan to keep the Mac sqMinimal.c updated
as a guide to pruning VM functionality by removing inessential
primitive libraries.

A slight additional savings could be had by editting the primitive
table initialization code to remove entries for sets of primitives
that you don't need (e.g., networking or asynch file I/O) before
extracting the C code for the VM. This would allow the linker to
eliminate the "glue" code for those primitives. I haven't tried
this, but I don't imagine you'd save much. If you try it, please
let me know.

A more significant savings in executable size can be obtained by
turning off method inlining the ST-to-C translation process (i.e.,
just changing the inlining flag). On the PowerPC, this saves
about 25% in executable size, but the resulting VM runs approximately
1/3 the speed of the inlined one. Mileage may vary on other platforms.
Personally, I don't believe this is a worthwhile tradeoff.

A more drastic way to shrink the executable would be to strip some of
the more esoteric modes and depths out of BitBlt. You probably don't
need alpha-blending on your PDA, and you probably don't need support
for 32-bit color (yet!). The disadvantage of this is that some Squeak
programs won't run on the resulting VM; I would thus consider this a
desperate last resort.

Returning to my first point, I think there are much easier pickin's
to be had by slimming down the image right now. After that, when you've
decided to put Smalltalk in your wristwatch, as Dave Thomas likes to say,
you may want to consider some of the above measures.

	-- John





More information about the Squeak-dev mailing list