On Mon, Apr 26, 2021 at 2:03 PM Norman Wilson <norman(a)oclsc.org> wrote:
I sat in on an undergrad course from [Dave Hanson] my first year of
grad school (94-95) and he taught it with lcc. I asked `why not
gcc' and he said, `gcc is 100,000 lines and I don't know what 90%
of them are doing; lcc is 10,000'.
My copy is indeed about 10K lines, not counting the code-generator
modules. Those are C files generated by a utility program lburg
from a template file. The three architectures supplied in the
distribution, for MIPS, SPARC, and X86, have template files of
about 900, 1200, and 700 lines respectively.
The template file for the VAX is about 2800 lines, but includes
some metalanguage of my own, interpreted by an awk script, to
generate extra rules for all the direct-store type-to-type
instructions. The C output from lburg for the other architectures
is 5000-6000 lines; for the VAX, after expansion by my awk
program and then by lburg, is nearly 20K.
Did someone say Complex Instruction Set?
I recall one of Mashey's posts talking about the number of page faults that
_might_ arise from execution of one instance of one of the more baroque VAX
instructions. It was something like 40 (!!).
- Dan C.