gnu@sun.uucp (John Gilmore) (01/10/84)
It is of course possible to design a calling sequence for any machine that will provide nargs. It happens that the Vax has a slow but convenient instruction which does this. The 68K and 16K don't -- and I'm pleased that they don't, since subroutines are proportionally faster than on Vaxen. Note that the 68010 includes the "return and pop parameters" instruction (which the 16k also has). It would take a lot of smarts to be usable by a C compiler, though -- the linker would have to do the final determination of whether to use it (or at least provide an error check) since if anybody calls your routine with 3 args instead of the declared two, the program would screw up its stack. A Fortran compiler could use it, unless C and Fortran wanted to call each other.