summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-01-02 11:35:16 +0100
committerMattias EngdegÄrd <mattiase@acm.org>2022-01-24 11:41:46 +0100
commit721357b86856505324b5f32584d5eae0ba9ab4ac (patch)
tree922da8bb1fae1ffbf1c3998febc05bfe4a381845 /src/bytecode.c
parent4ff1fb8eb475a540c094878db1811797e2ca2368 (diff)
downloademacs-721357b86856505324b5f32584d5eae0ba9ab4ac.tar.gz
emacs-721357b86856505324b5f32584d5eae0ba9ab4ac.tar.bz2
emacs-721357b86856505324b5f32584d5eae0ba9ab4ac.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 75f1a6b43e5..b2e8f4a9166 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -227,7 +227,7 @@ DEFINE (Bcondition_case, 0217) /* Obsolete since Emacs-25. */ \
DEFINE (Btemp_output_buffer_setup, 0220) /* Obsolete since Emacs-24.1. */ \
DEFINE (Btemp_output_buffer_show, 0221) /* Obsolete since Emacs-24.1. */ \
\
-DEFINE (Bunbind_all, 0222) /* Obsolete. Never used. */ \
+/* 0222 was Bunbind_all, never used. */ \
\
DEFINE (Bset_marker, 0223) \
DEFINE (Bmatch_beginning, 0224) \
@@ -703,12 +703,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
unbind_to (SPECPDL_INDEX () - op, Qnil);
NEXT;
- CASE (Bunbind_all): /* Obsolete. Never used. */
- /* To unbind back to the beginning of this frame. Not used yet,
- but will be needed for tail-recursion elimination. */
- unbind_to (count, Qnil);
- NEXT;
-
CASE (Bgoto):
op = FETCH2;
op_branch: