From 82f35e8b14e93ac697812d1b28d2e79e1ad82d84 Mon Sep 17 00:00:00 2001 From: Robin Houston Date: Tue, 8 Nov 2005 19:02:34 +0000 Subject: Re: [perl #32383] DProf breaks List::Util::shuffle Message-ID: <20051108190234.GA25953@rpc142.cs.man.ac.uk> p4raw-id: //depot/perl@26054 --- cop.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'cop.h') diff --git a/cop.h b/cop.h index 47c2375b7b..618da4dea2 100644 --- a/cop.h +++ b/cop.h @@ -734,13 +734,15 @@ See L. #define dMULTICALL \ SV **newsp; /* set by POPBLOCK */ \ PERL_CONTEXT *cx; \ - CV *cv; \ + CV *multicall_cv; \ OP *multicall_cop; \ bool multicall_oldcatch; \ U8 hasargs = 0 /* used by PUSHSUB */ -#define PUSH_MULTICALL \ +#define PUSH_MULTICALL(the_cv) \ STMT_START { \ + CV *_nOnclAshIngNamE_ = the_cv; \ + CV *cv = _nOnclAshIngNamE_; \ AV* padlist = CvPADLIST(cv); \ ENTER; \ multicall_oldcatch = CATCH_GET; \ @@ -754,6 +756,7 @@ See L. } \ SAVECOMPPAD(); \ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \ + multicall_cv = cv; \ multicall_cop = CvSTART(cv); \ } STMT_END @@ -765,8 +768,8 @@ See L. #define POP_MULTICALL \ STMT_START { \ - LEAVESUB(cv); \ - CvDEPTH(cv)--; \ + LEAVESUB(multicall_cv); \ + CvDEPTH(multicall_cv)--; \ POPBLOCK(cx,PL_curpm); \ CATCH_SET(multicall_oldcatch); \ LEAVE; \ -- cgit v1.2.1