]> git.eshelyaron.com Git - emacs.git/commit
Don't call Ffuncall directly from exec_byte_code feature/zach-soc-funcall-from-bytecode
authorZach Shaftel <zshaftel@gmail.com>
Thu, 18 Jun 2020 05:09:31 +0000 (01:09 -0400)
committerZach Shaftel <zshaftel@gmail.com>
Thu, 18 Jun 2020 05:09:31 +0000 (01:09 -0400)
commite1aee0ffe8aa51a8963737f8a957cf19eabdb9d7
treebe1ff734ed32fa702c4cd88adfabca389e1a1bc6
parent3d5ac37d36ecae90a634515b78608062fc9729be
Don't call Ffuncall directly from exec_byte_code

* src/bytecode.c (exec_byte_code): Do a good chunk of Ffuncall's
work in the Bcall ops, so Ffuncall no longer needs to be called. As
it stands, it's an ugly clone of the contents of Ffuncall (and
some of funcall_lambda). Work in progress.

* src/eval.c (record_in_backtrace_with_offset): New function. Like
record_in_backtrace but accepts the bytecode offset and stores it
in the pertinent backtrace frame.
(record_in_backtrace): Don't record the offset.
(funcall_lambda): Remove unnecessary SYMBOLP check.

* src/lisp.h (funcall_lambda, do_debug_on_call)
(record_in_backtrace_with_offset , backtrace_debug_on_exit):
Declare.
src/bytecode.c
src/eval.c
src/lisp.h