dave@lethe.UUCP (Dave Collier-Brown) (05/04/89)
In article <23481@shemp.CS.UCLA.EDU> frazier@cs.ucla.edu (Greg Frazier) | writes: and RISC II were tuned for C in that extensive studies of C | code were used to determine 1) the size of the windows and 2) the | number of regs which should be overlapped. An interesting question is | how much difference the language makes - to what degree does the | language really influence the number of parameters passed to a | procedure/fnxn? Well, the cost of doing a stack frame & call in PL/1 is not only high, it is known by "everyone" to be high. Much system level PL/1 on Multics tends to largish functions, longish parameter lists and conventions about "the last parameter is always the error status". (;-)) Commercial, non-recursive IBM PL/1 is known widely to have "expensive" parameter-passing mechanisms, and so tends to small numbers of parameters and conventions about what should be passed in globals versus parameters. source: experience, sample size: small. | In addition to the reg windows, the instruction set was chosen with | an eye to which instructions were frequently used by C compilers. | Beyond the int'n set and the reg file, there isn't much to the | RISC machines, so if they were optimized for C, then the whole chip | was optimized for C :-). The Honeywell DPS-8 EISbox (the very cisc part of a vCISC machine) was widely described as representing the primitives needed to efficently implement PL/1 and COBOL... (which is probably the cruelest compliment I've ever paid that machine) --dave (who once actually wrote PL/1 on a z80) c-b -- David Collier-Brown, | {toronto area...}lethe!dave 72 Abitibi Ave., | Joyce C-B: Willowdale, Ontario, | He's so smart he's dumb. CANADA. 223-8968 |