aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMattias EngdegÄrd2025-09-18 16:25:02 +0200
committerMattias EngdegÄrd2025-09-18 17:05:29 +0200
commit0767f1818a25f1efeefeb24a96eecf553396b2ed (patch)
treefe6c44cf51336ff65a205c56ed7cff00bf5f1ad6 /src
parent979ddc06019cce249a9ada359b85f3cd4b6a0149 (diff)
downloademacs-0767f1818a25f1efeefeb24a96eecf553396b2ed.tar.gz
emacs-0767f1818a25f1efeefeb24a96eecf553396b2ed.zip
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')
-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,
526 for (ptrdiff_t i = nargs - rest; i < nonrest; i++) 526 for (ptrdiff_t i = nargs - rest; i < nonrest; i++)
527 PUSH (Qnil); 527 PUSH (Qnil);
528 528
529 unsigned char volatile saved_quitcounter;
530#if GCC_LINT && __GNUC__ && !__clang__ 529#if GCC_LINT && __GNUC__ && !__clang__
531 Lisp_Object *volatile saved_vectorp; 530 Lisp_Object *volatile saved_vectorp;
532 unsigned char const *volatile saved_bytestr_data; 531 unsigned char const *volatile saved_bytestr_data;
@@ -960,7 +959,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
960 959
961 if (sys_setjmp (c->jmp)) 960 if (sys_setjmp (c->jmp))
962 { 961 {
963 quitcounter = saved_quitcounter; 962 quitcounter = 1; /* no need to restore old value */
964 struct handler *c = handlerlist; 963 struct handler *c = handlerlist;
965 handlerlist = c->next; 964 handlerlist = c->next;
966 top = c->bytecode_top; 965 top = c->bytecode_top;
@@ -990,7 +989,6 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
990 goto op_branch; 989 goto op_branch;
991 } 990 }
992 991
993 saved_quitcounter = quitcounter;
994#if GCC_LINT && __GNUC__ && !__clang__ 992#if GCC_LINT && __GNUC__ && !__clang__
995 saved_vectorp = vectorp; 993 saved_vectorp = vectorp;
996 saved_bytestr_data = bytestr_data; 994 saved_bytestr_data = bytestr_data;