diff options
| author | Helmut Eller | 2025-01-03 18:12:41 +0100 |
|---|---|---|
| committer | Gerd Möllmann | 2025-01-08 04:19:19 +0100 |
| commit | c2d0be1177c1e76c19250cfd8bdccc19e372c06e (patch) | |
| tree | 5266a15147ce766e61fd34000af73ca61863622d /src/bytecode.c | |
| parent | f3ef8385dc5ebe4fa67967d02eade6f8c74872da (diff) | |
| download | emacs-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/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 2 |
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)); |