aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHelmut Eller2025-01-03 18:12:41 +0100
committerGerd Möllmann2025-01-08 04:19:19 +0100
commitc2d0be1177c1e76c19250cfd8bdccc19e372c06e (patch)
tree5266a15147ce766e61fd34000af73ca61863622d /src
parentf3ef8385dc5ebe4fa67967d02eade6f8c74872da (diff)
downloademacs-c2d0be1177c1e76c19250cfd8bdccc19e372c06e.tar.gz
emacs-c2d0be1177c1e76c19250cfd8bdccc19e372c06e.zip
Call maybe_quit at a different point to the help the profiler.
* src/bytecode.c (exec_byte_code): In the docall sequence, move the to maybe_quit forward immediately before lisp_eval_depth--. This helps the profiler to see the function that was interrupted by the SIGPROF signal.
Diffstat (limited to 'src')
-rw-r--r--src/bytecode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index b57ead17a09..9b9a04bff01 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -784,7 +784,6 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
784 } 784 }
785 } 785 }
786#endif 786#endif
787 maybe_quit ();
788 787
789 if (++lisp_eval_depth > max_lisp_eval_depth) 788 if (++lisp_eval_depth > max_lisp_eval_depth)
790 { 789 {
@@ -829,6 +828,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template,
829 else 828 else
830 val = funcall_general (original_fun, call_nargs, call_args); 829 val = funcall_general (original_fun, call_nargs, call_args);
831 830
831 maybe_quit ();
832 lisp_eval_depth--; 832 lisp_eval_depth--;
833 if (backtrace_debug_on_exit (specpdl_ptr - 1)) 833 if (backtrace_debug_on_exit (specpdl_ptr - 1))
834 val = call_debugger (list2 (Qexit, val)); 834 val = call_debugger (list2 (Qexit, val));