X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=run.c;h=533beace281657fc4fff04fb3e2cce5a169c12d5;hb=333b7451c3645c70d019a85ff880dce1977c7857;hp=054abfedae72fcc55c70ffb7236839e9bd11f970;hpb=53a2efa2dc68a3abcc2483f05bd06213caea8bbd;p=p5sagit%2Fp5-mst-13.2.git diff --git a/run.c b/run.c index 054abfe..533beac 100644 --- a/run.c +++ b/run.c @@ -107,27 +107,26 @@ Perl_debop(pTHX_ OP *o) return 0; } +#ifdef DEBUGGING + STATIC CV* -S_deb_curcv(I32 ix) +S_deb_curcv(pTHX_ I32 ix) { -#ifdef DEBUGGING PERL_CONTEXT *cx = &cxstack[ix]; if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) return cx->blk_sub.cv; - else if (CxTYPE(cx) == CXt_EVAL && PL_compcv) - /* XXX Should be PL_compcv? */ - return Nullcv; + else if (CxTYPE(cx) == CXt_EVAL && !CxTRYBLOCK(cx)) + return PL_compcv; else if (ix == 0 && PL_curstackinfo->si_type == PERLSI_MAIN) return PL_main_cv; else if (ix <= 0) return Nullcv; else return deb_curcv(ix - 1); -#else - return Nullcv; -#endif /* DEBUGGING */ } +#endif /* DEBUGGING */ + void Perl_watch(pTHX_ char **addr) { @@ -139,16 +138,18 @@ Perl_watch(pTHX_ char **addr) #endif /* DEBUGGING */ } +#ifdef DEBUGGING + STATIC void S_debprof(pTHX_ OP *o) { -#ifdef DEBUGGING if (!PL_profiledata) Newz(000, PL_profiledata, MAXO, U32); ++PL_profiledata[o->op_type]; -#endif /* DEBUGGING */ } +#endif /* DEBUGGING */ + void Perl_debprofdump(pTHX) {