Status Report: Generating Native Code

Hans-Martin Mosner hm.mosner at
Mon Jun 22 21:11:10 UTC 1998

Hello everybody,

as of Saturday, I'm able to compile primitives to native code
dynamically. Although my compiler does not do any optimizations yet,
I've seen speed improvement factors of 50-100 for string operations such
as crc16 or beginsWith:

This is currently for the PowerPC only, and only supports integer
arithmetics, string access primitives, and Object>>at: so that I could
use the literal Array in crc16. I will add signed short and unsigned
long operations soon so that primitives working on Bitmaps and
SoundBuffers can be written.

My next plans are to streamline the calling mechanism to use C macros
defined in a header file instead of external functions, so that an
unnecessary function can can be avoided. I will write the macro
definitions for 68K and x86 calling so that the VM porting guys can
include them in their VMs while (hopefully) somebody starts writing code
generators for their respective processors.
Since float ops are not implemented yet, it seems too early to start
working on other platforms, but if somebody wants to look at the code
and start anyway, just send me a mail.


More information about the Squeak-dev mailing list