Mercurial > hg > xemacs-beta
diff src/profile.h @ 2514:b49d38bc659d
[xemacs-hg @ 2005-01-26 10:09:19 by ben]
Minor changes to profile code
profile.c, profile.h: Add fillers for easier temporary profiling.
Add RETURN_UNGCPRO_EXIT_PROFILING, RETURN_EXIT_PROFILING.
author | ben |
---|---|
date | Wed, 26 Jan 2005 10:09:20 +0000 |
parents | f3437b56874d |
children | facf3239ba30 |
line wrap: on
line diff
--- a/src/profile.h Wed Jan 26 10:05:03 2005 +0000 +++ b/src/profile.h Wed Jan 26 10:09:20 2005 +0000 @@ -95,3 +95,30 @@ if (do_backtrace) \ POP_BACKTRACE (backtrace); \ } while (0) + +#define RETURN_EXIT_PROFILING(tag, type, expr) \ +do \ +{ \ + type _ret_exitpr_ = (expr); \ + PROFILE_RECORD_EXITING_SECTION (tag); \ + RETURN_SANS_WARNINGS _ret_exitpr_; \ +} while (0) + +#define RETURN_LISP_EXIT_PROFILING(tag, expr) \ + RETURN_EXIT_PROFILING (tag, Lisp_Object, expr) + +#define RETURN_UNGCPRO_EXIT_PROFILING(tag, expr) \ +{ \ + Lisp_Object ret_ungc_val = (expr); \ + UNGCPRO; \ + PROFILE_RECORD_EXITING_SECTION (tag); \ + RETURN_SANS_WARNINGS ret_ungc_val; \ +} while (0) + +#ifdef DEBUG_XEMACS +extern Lisp_Object QSin_temp_spot_1; +extern Lisp_Object QSin_temp_spot_2; +extern Lisp_Object QSin_temp_spot_3; +extern Lisp_Object QSin_temp_spot_4; +extern Lisp_Object QSin_temp_spot_5; +#endif /* DEBUG_XEMACS */