diff options
| author | Paul Eggert | 2016-08-07 09:58:09 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-08-07 10:02:03 -0700 |
| commit | 7961dee1827c7d30a238e7eec3ae0ba26dd6fd30 (patch) | |
| tree | b079e4dff6a292aabdfabfc68a447bc84d567f4e /src/eval.c | |
| parent | 7fb75680b38fe0805c2ff7e9cca3bec8121ba984 (diff) | |
| download | emacs-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.c | 10 |
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. */ |