Mercurial > hg > xemacs-beta
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 */ |