aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorPaul Eggert2016-08-07 09:58:09 -0700
committerPaul Eggert2016-08-07 10:02:03 -0700
commit7961dee1827c7d30a238e7eec3ae0ba26dd6fd30 (patch)
treeb079e4dff6a292aabdfabfc68a447bc84d567f4e /src/eval.c
parent7fb75680b38fe0805c2ff7e9cca3bec8121ba984 (diff)
downloademacs-7961dee1827c7d30a238e7eec3ae0ba26dd6fd30.tar.gz
emacs-7961dee1827c7d30a238e7eec3ae0ba26dd6fd30.zip
Tune interpretation of integer arglist descriptor
* src/bytecode.c (exec_byte_code): Simplify and tune when INTEGERP (args_template).
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/eval.c b/src/eval.c
index d182f7f693d..7b7bdd8df7b 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -2863,14 +2863,14 @@ funcall_lambda (Lisp_Object fun, ptrdiff_t nargs,
2863 xsignal1 (Qinvalid_function, fun); 2863 xsignal1 (Qinvalid_function, fun);
2864 syms_left = AREF (fun, COMPILED_ARGLIST); 2864 syms_left = AREF (fun, COMPILED_ARGLIST);
2865 if (INTEGERP (syms_left)) 2865 if (INTEGERP (syms_left))
2866 /* A byte-code object with a non-nil `push args' slot means we 2866 /* A byte-code object with an integer args template means we
2867 shouldn't bind any arguments, instead just call the byte-code 2867 shouldn't bind any arguments, instead just call the byte-code
2868 interpreter directly; it will push arguments as necessary. 2868 interpreter directly; it will push arguments as necessary.
2869 2869
2870 Byte-code objects with either a non-existent, or a nil value for 2870 Byte-code objects with a nil args template (the default)
2871 the `push args' slot (the default), have dynamically-bound 2871 have dynamically-bound arguments, and use the
2872 arguments, and use the argument-binding code below instead (as do 2872 argument-binding code below instead (as do all interpreted
2873 all interpreted functions, even lexically bound ones). */ 2873 functions, even lexically bound ones). */
2874 { 2874 {
2875 /* If we have not actually read the bytecode string 2875 /* If we have not actually read the bytecode string
2876 and constants vector yet, fetch them from the file. */ 2876 and constants vector yet, fetch them from the file. */