#define PUSHSUB_BASE(cx) \
ENTRY_PROBE(GvENAME(CvGV(cv)), \
CopFILE((const COP *)CvSTART(cv)), \
- CopLINE((const COP *)CvSTART(cv))); \
+ CopLINE((const COP *)CvSTART(cv)), \
+ CopSTASHPV((const COP *)CvSTART(cv))); \
\
cx->blk_sub.cv = cv; \
cx->blk_sub.olddepth = CvDEPTH(cv); \
STMT_START { \
RETURN_PROBE(GvENAME(CvGV((const CV*)cx->blk_sub.cv)), \
CopFILE((COP*)CvSTART((const CV*)cx->blk_sub.cv)), \
- CopLINE((COP*)CvSTART((const CV*)cx->blk_sub.cv))); \
+ CopLINE((COP*)CvSTART((const CV*)cx->blk_sub.cv)), \
+ CopSTASHPV((COP*)CvSTART((const CV*)cx->blk_sub.cv))); \
\
if (CxHASARGS(cx)) { \
POP_SAVEARRAY(); \
# include "perldtrace.h"
-# define ENTRY_PROBE(func, file, line) \
- if (PERL_SUB_ENTRY_ENABLED()) { \
- PERL_SUB_ENTRY(func, file, line); \
+# define ENTRY_PROBE(func, file, line, stash) \
+ if (PERL_SUB_ENTRY_ENABLED()) { \
+ PERL_SUB_ENTRY(func, file, line, stash); \
}
-# define RETURN_PROBE(func, file, line) \
- if (PERL_SUB_RETURN_ENABLED()) { \
- PERL_SUB_RETURN(func, file, line); \
+# define RETURN_PROBE(func, file, line, stash) \
+ if (PERL_SUB_RETURN_ENABLED()) { \
+ PERL_SUB_RETURN(func, file, line, stash); \
}
#else
/* NOPs */
-# define ENTRY_PROBE(func, file, line)
-# define RETURN_PROBE(func, file, line)
+# define ENTRY_PROBE(func, file, line, stash)
+# define RETURN_PROBE(func, file, line, stash)
#endif
*/
provider perl {
- probe sub__entry(char *, char *, int);
- probe sub__return(char *, char *, int);
+ probe sub__entry(char *, char *, int, char *);
+ probe sub__return(char *, char *, int, char *);
};
/*