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 */