On Tue, Jan 17, 2012 at 10:52 AM, Carl Shapiro <carl.shapiro@gmail.com>wrote:
On Tue, Jan 17, 2012 at 9:52 AM, Raymond Toy <toy.raymond@gmail.com>wrote:
Interesting. I wonder if os_stack_grows_down_1 were moved to another file would fix this.
If you think the call is being optimized away, you can try to add a "noinline" attribute to limit the optimization.
I don't have gcc 4.6 around anywhere so I can't test this.
Aside from the PA-RISC, don't all of the ports have a downward growing stack? Maybe it is time to make this a #define instead of using a clever runtime check.
A quick grep shows that this is only used for the stack guard zones, and those functions are called only on x86. For sparc, the C stack grows down, but the Lisp control stack grows up, so those routines aren't used. It looks like ppc never had the stack overflow support, and PA-RISC was pretty much dead before I even started using cmucl. So let's just get rid of them and fix up guard_zones to have a fixed assumption on the stack direction. Ray