Kernel LISP - how low down can it go?
Wed, 21 May 1997 22:10:37 -0500
| From: Mike McDonald <email@example.com>
[ snip ]
| Why do you think you need access to the underlying machine's
| individual instructions? About the only thing I can think of that's
| written in assembler in the version of Unix I'm familiar with is the
| initialization code (setting up the CPU) and the first level TLB MISS
| handler. Nothing else needs to be in assembler.
Perhaps, if you had a suitably defined set of primitive types in Lisp
(with good compiler support), which we do not get with standard ANSI
Common Lisp. Besides, once the GC for the LispOS is nailed down, I'm
sure we will want to tune some parts in assembly, same for the virtual
memory system. I would be surprised if there was not inline assembly
here and there in a number of C routines in your version of Un*x. I
doubt we would want to write great chunks of assembly code either, but
a bit here, a bit there, in critical system code can create a huge gain
in performance, especially on CISC CPUs.