xref: /openbsd-src/gnu/usr.bin/perl/mydtrace.h (revision d13be5d47e4149db2549a9828e244d59dbc43f15)
1 /*    mydtrace.h
2  *
3  *    Copyright (C) 2008, by Larry Wall and others
4  *
5  *    You may distribute under the terms of either the GNU General Public
6  *    License or the Artistic License, as specified in the README file.
7  *
8  *	Provides macros that wrap the various DTrace probes we use. We add
9  *	an extra level of wrapping to encapsulate the _ENABLED tests.
10  */
11 
12 #if defined(USE_DTRACE) && defined(PERL_CORE)
13 
14 #  include "perldtrace.h"
15 
16 #  define ENTRY_PROBE(func, file, line) 	\
17     if (PERL_SUB_ENTRY_ENABLED()) {		\
18 	PERL_SUB_ENTRY(func, file, line); 	\
19     }
20 
21 #  define RETURN_PROBE(func, file, line)	\
22     if (PERL_SUB_RETURN_ENABLED()) {		\
23 	PERL_SUB_RETURN(func, file, line); 	\
24     }
25 
26 #else
27 
28 /* NOPs */
29 #  define ENTRY_PROBE(func, file, line)
30 #  define RETURN_PROBE(func, file, line)
31 
32 #endif
33 
34 /*
35  * Local variables:
36  * c-indentation-style: bsd
37  * c-basic-offset: 4
38  * indent-tabs-mode: t
39  * End:
40  *
41  * ex: set ts=8 sts=4 sw=4 noet:
42  */
43