aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorMattias EngdegÄrd2022-01-02 11:35:16 +0100
committerMattias EngdegÄrd2022-01-11 15:22:48 +0100
commit1eacfb3c888764908d2ee421e16c020e7343b5a1 (patch)
treed908a9a5e1d1b17174c9e52d93ed916ddad0ca1b /src/bytecode.c
parent1dca615cf9132c59728bba6fd8f3e50498bf2a27 (diff)
downloademacs-1eacfb3c888764908d2ee421e16c020e7343b5a1.tar.gz
emacs-1eacfb3c888764908d2ee421e16c020e7343b5a1.zip
Remove the unused unbind-all bytecode
It was implemented but never generated, originally intended for TCO in the pre-lexbind era (which was semantically dubious anyway). Removing it speeds up the interpreter because there is no longer any need for the outermost `count` variable unless checking is enabled. * lisp/emacs-lisp/bytecomp.el: * lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): * src/bytecode.c (BYTE_CODES, exec_byte_code): Remove definition and implementation of unbind-all, freeing up the opcode for other purposes.
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 635058823c8..97d47a3d9c1 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -227,7 +227,7 @@ DEFINE (Bcondition_case, 0217) /* Obsolete since Emacs-25. */ \
227DEFINE (Btemp_output_buffer_setup, 0220) /* Obsolete since Emacs-24.1. */ \ 227DEFINE (Btemp_output_buffer_setup, 0220) /* Obsolete since Emacs-24.1. */ \
228DEFINE (Btemp_output_buffer_show, 0221) /* Obsolete since Emacs-24.1. */ \ 228DEFINE (Btemp_output_buffer_show, 0221) /* Obsolete since Emacs-24.1. */ \
229 \ 229 \
230DEFINE (Bunbind_all, 0222) /* Obsolete. Never used. */ \ 230/* 0222 was Bunbind_all, never used. */ \
231 \ 231 \
232DEFINE (Bset_marker, 0223) \ 232DEFINE (Bset_marker, 0223) \
233DEFINE (Bmatch_beginning, 0224) \ 233DEFINE (Bmatch_beginning, 0224) \
@@ -703,12 +703,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
703 unbind_to (SPECPDL_INDEX () - op, Qnil); 703 unbind_to (SPECPDL_INDEX () - op, Qnil);
704 NEXT; 704 NEXT;
705 705
706 CASE (Bunbind_all): /* Obsolete. Never used. */
707 /* To unbind back to the beginning of this frame. Not used yet,
708 but will be needed for tail-recursion elimination. */
709 unbind_to (count, Qnil);
710 NEXT;
711
712 CASE (Bgoto): 706 CASE (Bgoto):
713 op = FETCH2; 707 op = FETCH2;
714 op_branch: 708 op_branch: