diff options
author | Andy Armstrong <andy@hexten.net> | 2008-01-10 22:20:52 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-01-11 13:36:54 +0000 |
commit | 5ac1e9b286b068746476878a8a6206b06828a175 (patch) | |
tree | 9c3ea7b8fb39c431bd78a689aea2ff13f18de880 /mydtrace.h | |
parent | 737ddd9966a0343f74f23dcc8d4025bbf64d3e59 (diff) | |
download | perl-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.h | 42 |
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: + */ |