From: Nicholas Clark Date: Thu, 14 Jan 2010 15:37:05 +0000 (+0000) Subject: Back out the {ENTER,LEAVE}_with_name("sub") part of d343c3ef45381352 for now. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a57c668520b9767f7a6c93e0a396cee792a98be5;p=p5sagit%2Fp5-mst-13.2.git Back out the {ENTER,LEAVE}_with_name("sub") part of d343c3ef45381352 for now. It's conflicting with an established pattern in XS code, working around the inability of the XS SCOPE: keyword to actually provide anything useful. The minor amount of extra debugging it gives here is not worth the external trouble it causes. Revisit this once we can provide a meaningful option to disable the ENTER/LEAVE around XSUBs. --- diff --git a/pp_ctl.c b/pp_ctl.c index c181d0f..81a942f 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -1881,7 +1881,7 @@ PP(pp_dbstate) /* don't do recursive DB::DB call */ return NORMAL; - ENTER_with_name("sub"); + ENTER; SAVETMPS; SAVEI32(PL_debug); @@ -1896,7 +1896,7 @@ PP(pp_dbstate) (void)(*CvXSUB(cv))(aTHX_ cv); CvDEPTH(cv)--; FREETMPS; - LEAVE_with_name("sub"); + LEAVE; return NORMAL; } else { @@ -2559,7 +2559,7 @@ PP(pp_goto) PUSHMARK(mark); PUTBACK; (void)(*CvXSUB(cv))(aTHX_ cv); - LEAVE_with_name("sub"); + LEAVE; return retop; } else { diff --git a/pp_hot.c b/pp_hot.c index a8aa4ba..3371e88 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -2481,7 +2481,7 @@ PP(pp_leavesub) } PUTBACK; - LEAVE_with_name("sub"); + LEAVE; cxstack_ix--; POPSUB(cx,sv); /* Stack values are safe: release CV and @_ ... */ PL_curpm = newpm; /* ... and pop $1 et al */ @@ -2542,7 +2542,7 @@ PP(pp_leavesublv) * the refcounts so the caller gets a live guy. Cannot set * TEMP, so sv_2mortal is out of question. */ if (!CvLVALUE(cx->blk_sub.cv)) { - LEAVE_with_name("sub"); + LEAVE; cxstack_ix--; POPSUB(cx,sv); PL_curpm = newpm; @@ -2557,7 +2557,7 @@ PP(pp_leavesublv) * of a tied hash or array */ if (SvFLAGS(TOPs) & (SVs_TEMP | SVs_PADTMP | SVf_READONLY) && !(SvRMAGICAL(TOPs) && mg_find(TOPs, PERL_MAGIC_tiedelem))) { - LEAVE_with_name("sub"); + LEAVE; cxstack_ix--; POPSUB(cx,sv); PL_curpm = newpm; @@ -2573,7 +2573,7 @@ PP(pp_leavesublv) } } else { /* Should not happen? */ - LEAVE_with_name("sub"); + LEAVE; cxstack_ix--; POPSUB(cx,sv); PL_curpm = newpm; @@ -2590,7 +2590,7 @@ PP(pp_leavesublv) && SvFLAGS(*mark) & (SVs_TEMP | SVs_PADTMP | SVf_READONLY)) { /* Might be flattened array after $#array = */ PUTBACK; - LEAVE_with_name("sub"); + LEAVE; cxstack_ix--; POPSUB(cx,sv); PL_curpm = newpm; @@ -2645,7 +2645,7 @@ PP(pp_leavesublv) } PUTBACK; - LEAVE_with_name("sub"); + LEAVE; cxstack_ix--; POPSUB(cx,sv); /* Stack values are safe: release CV and @_ ... */ PL_curpm = newpm; /* ... and pop $1 et al */ @@ -2675,7 +2675,7 @@ PP(pp_entersub) cv = sv_2cv(sv, &stash, &gv, 0); } if (!cv) { - ENTER_with_name("sub"); + ENTER; SAVETMPS; goto try_autoload; } @@ -2729,7 +2729,7 @@ PP(pp_entersub) break; } - ENTER_with_name("sub"); + ENTER; SAVETMPS; retry: @@ -2889,7 +2889,7 @@ try_autoload: *(PL_stack_base + markix) = *PL_stack_sp; PL_stack_sp = PL_stack_base + markix; } - LEAVE_with_name("sub"); + LEAVE; return NORMAL; } }