summaryrefslogtreecommitdiff
path: root/mydtrace.h
Commit message (Collapse)AuthorAgeFilesLines
* rename and function-ise dtrace macrosDavid Mitchell2016-03-181-65/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit: 1. Renames the various dtrace probe macros into a consistent and self-documenting pattern, e.g. ENTRY_PROBE => PERL_DTRACE_PROBE_ENTRY RETURN_PROBE => PERL_DTRACE_PROBE_RETURN Since they're supposed to be defined only under PERL_CORE, this shouldn't break anything that's not being naughty. 2. Implement the main body of these macros using a real function. They were formerly defined along the lines of if (PERL_SUB_ENTRY_ENABLED()) PERL_SUB_ENTRY(...); The PERL_SUB_ENTRY() part is a macro generated by the dtrace system, which for example on linux expands to a large bunch of assembly directives. Replace the direct macro with a function wrapper, e.g. if (PERL_SUB_ENTRY_ENABLED()) Perl_dtrace_probe_call(aTHX_ cv, TRUE); This reduces to once the number of times the macro is expanded. The new functions also take simpler args and then process the values they need using intermediate temporary vars to avoid huge macro expansions. For example ENTRY_PROBE(CvNAMED(cv) ? HEK_KEY(CvNAME_HEK(cv)) : GvENAME(CvGV(cv)), CopFILE((const COP *)CvSTART(cv)), CopLINE((const COP *)CvSTART(cv)), CopSTASHPV((const COP *)CvSTART(cv))); is now PERL_DTRACE_PROBE_ENTRY(cv); This reduces the executable size by 1K on -O2 -Dusedtrace builds, and by 45K on -DDEBUGGING -Dusedtrace builds.
* Replace common Emacs file-local variables with dir-localsDagfinn Ilmari Mannsåker2015-03-221-6/+0
| | | | | | | | | | | | | | | | An empty cpan/.dir-locals.el stops Emacs using the core defaults for code imported from CPAN. Committer's work: To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed to be incremented in many files, including throughout dist/PathTools. perldelta entry for module updates. Add two Emacs control files to MANIFEST; re-sort MANIFEST. For: RT #124119.
* fix dtrace (as emulated with systemtap) builds on linuxTony Cook2012-12-081-11/+5
| | | | | | | | the stap branch of the #if was passing four arguments to OP_ENTRY_PROBE, much hilarity ensued. Since literal strings are never passed as the name parameter we can move OP_ENTRY_PROBE out of the conditional and avoid duplication.
* "loading-file" and "loaded-file" DTrace probesShawn M Moore2012-08-281-0/+24
|
* "op-entry" DTrace probeShawn M Moore2012-08-281-0/+12
|
* update the editor hints for spaces, not tabsRicardo Signes2012-05-291-2/+2
| | | | | This updates the editor hints in our files for Emacs and vim to request that tabs be inserted as spaces.
* Bump several file copyright datesSteffen Schwigon2012-01-191-1/+1
| | | | | | | Sync copyright dates with actual changes according to git history. [Plus run regen_perly.h to update the SHA-256 checksums, and regen/regcharclass.pl to update regcharclass.h]
* workaround a type handling bug in SystemTap Dtrace 1.2Tony Cook2011-08-111-2/+25
| | | | | | | | | | | | | | | It uses a construct similar to: __typeof__((func)) x = func; but hek_key is a char[1] so the above becomes: char arg1[1] = func; which is invalid. Using a temporary allows an implicit conversion to const char * and avoids possible bugs that might be hidden by an explicit cast.
* Add a phase-change DTrace probeShawn M Moore2011-07-111-0/+6
|
* [perl #80548] Add the stash name to DTrace probesDavid Leadbeater2010-12-101-8/+8
| | | | | | | | | | | This adds an additional parameter to perl's dtrace probes with the stash name of the subroutine. This generally looks nicer than the filename but gives a similar level of context. As this is an additional parameter this will not have an impact on existing DTrace scripts. (Also due to the way DTrace works I believe it does not break binary compatibility and would be safe to backport to maint-5.12 if desired, but I'm not a DTrace expert.)
* Add dtrace supportAndy Armstrong2008-01-111-0/+42
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