summaryrefslogtreecommitdiff
path: root/mydtrace.h
diff options
context:
space:
mode:
authorAndy Armstrong <andy@hexten.net>2008-01-10 22:20:52 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-11 13:36:54 +0000
commit5ac1e9b286b068746476878a8a6206b06828a175 (patch)
tree9c3ea7b8fb39c431bd78a689aea2ff13f18de880 /mydtrace.h
parent737ddd9966a0343f74f23dcc8d4025bbf64d3e59 (diff)
downloadperl-5ac1e9b286b068746476878a8a6206b06828a175.tar.gz
Add dtrace support
Message-Id: <F4AC553F-7C7F-49C3-98C2-E04681E1004F@hexten.net> with fixups as discussed on list, plus adding usedtrace to Glossary, plus propagating all the new config variables everywhere. (Was there an automatic way to do that? I did it with emacs macros) p4raw-id: //depot/perl@32953
Diffstat (limited to 'mydtrace.h')
-rw-r--r--mydtrace.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/mydtrace.h b/mydtrace.h
new file mode 100644
index 0000000000..daabcfa0b9
--- /dev/null
+++ b/mydtrace.h
@@ -0,0 +1,42 @@
+/* mydtrace.h
+ *
+ * Copyright (C) 2008, by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * Provides macros that wrap the various DTrace probes we use. We add
+ * an extra level of wrapping to encapsulate the _ENABLED tests.
+ */
+
+#if defined(USE_DTRACE) && defined(PERL_CORE)
+
+# include "perldtrace.h"
+
+# define ENTRY_PROBE(func, file, line) \
+ if (PERL_SUB_ENTRY_ENABLED()) { \
+ PERL_SUB_ENTRY(func, file, line); \
+ }
+
+# define RETURN_PROBE(func, file, line) \
+ if (PERL_SUB_RETURN_ENABLED()) { \
+ PERL_SUB_RETURN(func, file, line); \
+ }
+
+#else
+
+/* NOPs */
+# define ENTRY_PROBE(func, file, line)
+# define RETURN_PROBE(func, file, line)
+
+#endif
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 noet:
+ */