Path: utzoo!attcan!uunet!microsoft!markha From: markha@microsoft.UUCP (Mark HAHN) Newsgroups: comp.arch Subject: Re: compiling bitblt and instruction cache Message-ID: <55574@microsoft.UUCP> Date: 2 Jul 90 06:11:59 GMT Reply-To: markha@microsoft.UUCP (Mark HAHN) Organization: Microsoft Corp., Redmond WA Lines: 36 there are plenty of applications where it would be great to generate code on the fly. the only thing that really distinguishes bitblt is that users can easily see when it's too slow. but what about all the other tidy abstractions like hash tables? the Synthesis Kernel seems to be a variant of this cool idea, though it apparently only does it for system-level stuff. they seem to think of this kind of 'customization' is something that only an oracle-like metaclass would want to do. their example is a filesystem that provides thunks for your particular FILE*. any of the code-is-data languages should have it easy, since they can just provide a compiler in the runtime. complaining that it's unportable is pretty weak, since all performace tuning (rather than redesign) is unportable. what's needed is some adequately expressive portable language, which should also probably be terse and easy to optimize. the portability necessary couldn't be achieved in the past, but most major architectures today are just minor variations. (exercise: name a machine (please DON'T post it!) that has other than 8, 16, 32 bit data types on natural boundaries, two's complement math with 32bit addresses and IEEE fp. do not consider historic blemishes such as mainframes or the 286.) besides compiling the language, the OS needs to provide fixups. doesn't seem much to ask, does it? then, of course, you've got to trust the builtin compiler, and it won't help you if you need/prefer the local weirdnesses... regards, -- Mark Hahn microsoft!markha@uunet.uu.net uunet!microsoft!markha YES, Bill Gates IS my personal savior, and I CHANNEL for him in CLEAR WEATHER.