]> git.eshelyaron.com Git - emacs.git/commitdiff
(apply1, call2) [__GNUC__]: Declare with `__attribute__((noinline))'.
authorEli Zaretskii <eliz@gnu.org>
Sat, 2 Sep 2006 13:40:16 +0000 (13:40 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 2 Sep 2006 13:40:16 +0000 (13:40 +0000)
src/eval.c

index 0d7a6a310383de3b20f56a049952df2ab6fd51a5..5f3bd46c4dc39997bd687adccd03246f629f6a59 100644 (file)
@@ -199,6 +199,14 @@ extern Lisp_Object Qrisky_local_variable;
 
 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
 \f
 void
 init_eval_once ()