summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2025-09-18 16:25:02 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2025-09-18 17:05:29 +0200
commit0767f1818a25f1efeefeb24a96eecf553396b2ed (patch)
treefe6c44cf51336ff65a205c56ed7cff00bf5f1ad6 /src/bytecode.c
parent979ddc06019cce249a9ada359b85f3cd4b6a0149 (diff)
Don't save quitcounter across longjmp in exec_byte_code
* src/bytecode.c (exec_byte_code): Reset quitcounter to 1 after longjmp; the exact value isn't important. This may reduce register pressure a tiny bit or at least remove a useless stack slot.
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index debb08c2347..318b96a12be 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -526,7 +526,6 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
for (ptrdiff_t i = nargs - rest; i < nonrest; i++)
PUSH (Qnil);
- unsigned char volatile saved_quitcounter;
#if GCC_LINT && __GNUC__ && !__clang__
Lisp_Object *volatile saved_vectorp;
unsigned char const *volatile saved_bytestr_data;
@@ -960,7 +959,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
if (sys_setjmp (c->jmp))
{
- quitcounter = saved_quitcounter;
+ quitcounter = 1; /* no need to restore old value */
struct handler *c = handlerlist;
handlerlist = c->next;
top = c->bytecode_top;
@@ -990,7 +989,6 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
goto op_branch;
}
- saved_quitcounter = quitcounter;
#if GCC_LINT && __GNUC__ && !__clang__
saved_vectorp = vectorp;
saved_bytestr_data = bytestr_data;