[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/bytecode-speedup 1dca615cf9 08/11: Move a runtime interpreter ch
From: |
Mattias Engdegård |
Subject: |
scratch/bytecode-speedup 1dca615cf9 08/11: Move a runtime interpreter check to ENABLE_CHECKING |
Date: |
Tue, 11 Jan 2022 11:50:50 -0500 (EST) |
branch: scratch/bytecode-speedup
commit 1dca615cf9132c59728bba6fd8f3e50498bf2a27
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>
Move a runtime interpreter check to ENABLE_CHECKING
* src/bytecode.c (exec_byte_code): Turn error condition into eassert.
---
src/bytecode.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/bytecode.c b/src/bytecode.c
index ae6eec09d4..635058823c 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1570,15 +1570,10 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object
vector, Lisp_Object maxdepth,
exit:
+ /* The byte code should have been properly pinned. */
eassert (SDATA (bytestr) == bytestr_data);
-
/* Binds and unbinds are supposed to be compiled balanced. */
- if (SPECPDL_INDEX () != count)
- {
- if (SPECPDL_INDEX () > count)
- unbind_to (count, Qnil);
- error ("binding stack not balanced (serious byte compiler bug)");
- }
+ eassert (SPECPDL_INDEX () == count);
Lisp_Object result = TOP;
SAFE_FREE ();
- branch scratch/bytecode-speedup created (now 712237cab6), Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 1e439fe19a 10/11: Open-code aref and aset in bytecode interpreter, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 712237cab6 11/11: ; * lisp/emacs-lisp/byte-opt.el: Remove outdated comments, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 02ff30bfbb 06/11: ; * src/bytecode.c (exec_byte_code): Cosmetic improvement, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 09b5ed93b1 07/11: Remove nil check in exec_byte_code, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 870806d4c4 04/11: Pin bytecode strings to avoid copy at call time, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 43932a0d90 01/11: Short-circuit the recursive bytecode funcall chain, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 5dd261282d 02/11: Inline fixnum operations in bytecode interpreter, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 1eacfb3c88 09/11: Remove the unused unbind-all bytecode, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup b43e4a184f 03/11: Inline setcar and setcdr in byte-code interpreter, Mattias Engdegård, 2022/01/11
- scratch/bytecode-speedup 1dca615cf9 08/11: Move a runtime interpreter check to ENABLE_CHECKING,
Mattias Engdegård <=
- scratch/bytecode-speedup a2b4058b96 05/11: Byte code arity check micro-optimisation, Mattias Engdegård, 2022/01/11