diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2021-12-28 16:50:07 +0100 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2022-01-24 11:41:46 +0100 |
commit | 15961108c9acbef5b7e7daeb47f026969b7a5407 (patch) | |
tree | 14dcfa10cffa9181f0e6cb50a6c9bc7d50f4d618 /lisp/emacs-lisp/checkdoc.el | |
parent | bcf844b5fcaeff3548e35b6a6e3c320c8187ae06 (diff) | |
download | emacs-15961108c9acbef5b7e7daeb47f026969b7a5407.tar.gz emacs-15961108c9acbef5b7e7daeb47f026969b7a5407.tar.bz2 emacs-15961108c9acbef5b7e7daeb47f026969b7a5407.zip |
Short-circuit the recursive bytecode funcall chain
Inline parts of the code for function calls to speed up the common
case of calling lexbound byte-code. By eliminating intermediate
functions, this also reduces C stack usage a little.
* src/bytecode.c (exec_byte_code): Inline parts of Ffuncall,
funcall_lambda and fetch_and_exec_byte_code in the Bcall opcode
handler.
* src/eval.c (backtrace_debug_on_exit): Inline and move to lisp.h.
(do_debug_on_call): Make global so that it can be called from
bytecode.c.
(funcall_general): New function, essentially the meat of Ffuncall.
* src/lisp.h (backtrace_debug_on_exit): Moved here from eval.c.
Diffstat (limited to 'lisp/emacs-lisp/checkdoc.el')
0 files changed, 0 insertions, 0 deletions