diff options
| author | Mattias EngdegÄrd | 2022-01-02 11:15:41 +0100 |
|---|---|---|
| committer | Mattias EngdegÄrd | 2022-01-11 15:22:48 +0100 |
| commit | 1dca615cf9132c59728bba6fd8f3e50498bf2a27 (patch) | |
| tree | 564251640bcb91fd092c4f39bc41c33d63fd6e4d /src/bytecode.c | |
| parent | 09b5ed93b193c4480c3c5aa7483b70348821e23b (diff) | |
| download | emacs-1dca615cf9132c59728bba6fd8f3e50498bf2a27.tar.gz emacs-1dca615cf9132c59728bba6fd8f3e50498bf2a27.zip | |
Move a runtime interpreter check to ENABLE_CHECKING
* src/bytecode.c (exec_byte_code): Turn error condition into eassert.
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index ae6eec09d45..635058823c8 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, | |||
| 1570 | 1570 | ||
| 1571 | exit: | 1571 | exit: |
| 1572 | 1572 | ||
| 1573 | /* The byte code should have been properly pinned. */ | ||
| 1573 | eassert (SDATA (bytestr) == bytestr_data); | 1574 | eassert (SDATA (bytestr) == bytestr_data); |
| 1574 | |||
| 1575 | /* Binds and unbinds are supposed to be compiled balanced. */ | 1575 | /* Binds and unbinds are supposed to be compiled balanced. */ |
| 1576 | if (SPECPDL_INDEX () != count) | 1576 | eassert (SPECPDL_INDEX () == count); |
| 1577 | { | ||
| 1578 | if (SPECPDL_INDEX () > count) | ||
| 1579 | unbind_to (count, Qnil); | ||
| 1580 | error ("binding stack not balanced (serious byte compiler bug)"); | ||
| 1581 | } | ||
| 1582 | 1577 | ||
| 1583 | Lisp_Object result = TOP; | 1578 | Lisp_Object result = TOP; |
| 1584 | SAFE_FREE (); | 1579 | SAFE_FREE (); |