From: Eli Zaretskii Date: Sat, 2 Sep 2006 13:40:16 +0000 (+0000) Subject: (apply1, call2) [__GNUC__]: Declare with `__attribute__((noinline))'. X-Git-Tag: emacs-pretest-22.0.90~796 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eaa1e5ed0fb421b09e41568318e85a7e582490eb;p=emacs.git (apply1, call2) [__GNUC__]: Declare with `__attribute__((noinline))'. --- diff --git a/src/eval.c b/src/eval.c index 0d7a6a31038..5f3bd46c4dc 100644 --- a/src/eval.c +++ b/src/eval.c @@ -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 void init_eval_once ()