comparison 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
comparison
equal deleted inserted replaced
2513:d8595adfc810 2514:b49d38bc659d
93 { \ 93 { \
94 PROFILE_EXIT_FUNCTION (); \ 94 PROFILE_EXIT_FUNCTION (); \
95 if (do_backtrace) \ 95 if (do_backtrace) \
96 POP_BACKTRACE (backtrace); \ 96 POP_BACKTRACE (backtrace); \
97 } while (0) 97 } while (0)
98
99 #define RETURN_EXIT_PROFILING(tag, type, expr) \
100 do \
101 { \
102 type _ret_exitpr_ = (expr); \
103 PROFILE_RECORD_EXITING_SECTION (tag); \
104 RETURN_SANS_WARNINGS _ret_exitpr_; \
105 } while (0)
106
107 #define RETURN_LISP_EXIT_PROFILING(tag, expr) \
108 RETURN_EXIT_PROFILING (tag, Lisp_Object, expr)
109
110 #define RETURN_UNGCPRO_EXIT_PROFILING(tag, expr) \
111 { \
112 Lisp_Object ret_ungc_val = (expr); \
113 UNGCPRO; \
114 PROFILE_RECORD_EXITING_SECTION (tag); \
115 RETURN_SANS_WARNINGS ret_ungc_val; \
116 } while (0)
117
118 #ifdef DEBUG_XEMACS
119 extern Lisp_Object QSin_temp_spot_1;
120 extern Lisp_Object QSin_temp_spot_2;
121 extern Lisp_Object QSin_temp_spot_3;
122 extern Lisp_Object QSin_temp_spot_4;
123 extern Lisp_Object QSin_temp_spot_5;
124 #endif /* DEBUG_XEMACS */