changeset 72610:01fdc3c9ea0e

(apply1, call2) [__GNUC__]: Declare with `__attribute__((noinline))'.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 02 Sep 2006 13:40:16 +0000
parents f396703cc830
children 231eb88f2558
files src/eval.c
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c	Sat Sep 02 13:39:48 2006 +0000
+++ b/src/eval.c	Sat Sep 02 13:40:16 2006 +0000
@@ -199,6 +199,14 @@
 
 static Lisp_Object funcall_lambda P_ ((Lisp_Object, int, Lisp_Object*));
 static void unwind_to_catch P_ ((struct catchtag *, Lisp_Object)) NO_RETURN;
+
+#if __GNUC__
+/* "gcc -O3" enables automatic function inlining, which optimizes out
+   the arguments for the invocations of these functions, whereas they
+   expect these values on the stack.  */
+Lisp_Object apply1 () __attribute__((noinline));
+Lisp_Object call2 () __attribute__((noinline));
+#endif
 
 void
 init_eval_once ()