>> Berkeley project as far as I can tell involved no compiler people at>> all, which appears to me to be the reason that they invented register>> windows, being unaware of how good a job of register management a>> compiler can do. -John]

Well, John Mashey has observed that the handful of programs the Berkeley
group used as their primary benchmarks turn out, on comparison with a wider
range of code, to be unusually function-call-intensive. (His more general
observation is that programs vary a lot and using a small set of them for
benchmarks is usually a mistake.) They did have some real reasons for going
the way they did. There are also limits to what a compiler can do with a
language like C++ where call patterns are very dynamic.

>Could you provide leads on "lots of different machines"? My understanding>of the 801 compiler (now very very dated) is that ported versions of the>compiler treated microprocessors as a RISC machine, and ended up doing>a lousy job of using addressing modes.

As I understand it, this is true... but irrelevant, since the generated code
often ran faster as a result! Fancy addressing modes turn out to be
seriously slow, because the CPU designers quite sensibly optimize the ones
that are frequently used, i.e. the simple ones. The 801 people were
reportedly quite surprised to find that the 370 (and successors) run faster
as RISCs than as CISCs.