|compiling for mips environment firstname.lastname@example.org (simon) (1999-06-27)|
|Re: compiling for mips environment email@example.com (Zalman Stern) (1999-06-29)|
|Re: compiling for mips environment firstname.lastname@example.org (James Jones) (1999-06-29)|
|Re: compiling for mips environment email@example.com (Chris Dodd) (1999-06-29)|
|Re: compiling for mips environment firstname.lastname@example.org (Matt Postiff) (1999-07-01)|
|Re: compiling for mips environment email@example.com (Michael Meissner) (1999-07-11)|
|From:||James Jones <firstname.lastname@example.org>|
|Date:||29 Jun 1999 03:00:59 -0400|
|Organization:||Microware Systems Corporation|
There are two questions here:
1. Why reserve stack space for arguments that are being passed in
2. Why only set aside four registers to pass arguments in registers--
there are plenty of registers.
The moderator has answered #2; I believe the answer to #1, why leave
stack space for arguments being passed in registers, is to support C
optional arguments in a way that lets the optional argument portion
just walk through the stack while letting the caller still pass some
arguments in registers--the function prologue for the function with
optional arguments would presumably shove the argument registers onto
the stack so they'd be contiguous with the stack space for arguments
that would go on the stack anyway.
Return to the
Search the comp.compilers archives again.