diff options
author | Robin Houston <robin@cpan.org> | 2005-11-08 19:02:34 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-11-09 09:15:04 +0000 |
commit | 82f35e8b14e93ac697812d1b28d2e79e1ad82d84 (patch) | |
tree | 187ce522aca502f3e424ce2ff640ed2ae0d355a6 /cop.h | |
parent | 9fcbb300ff0020e9c959238b23201b62e75039f8 (diff) | |
download | perl-82f35e8b14e93ac697812d1b28d2e79e1ad82d84.tar.gz |
Re: [perl #32383] DProf breaks List::Util::shuffle
Message-ID: <20051108190234.GA25953@rpc142.cs.man.ac.uk>
p4raw-id: //depot/perl@26054
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -734,13 +734,15 @@ See L<perlcall/Lightweight Callbacks>. #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<perlcall/Lightweight Callbacks>. } \ SAVECOMPPAD(); \ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \ + multicall_cv = cv; \ multicall_cop = CvSTART(cv); \ } STMT_END @@ -765,8 +768,8 @@ See L<perlcall/Lightweight Callbacks>. #define POP_MULTICALL \ STMT_START { \ - LEAVESUB(cv); \ - CvDEPTH(cv)--; \ + LEAVESUB(multicall_cv); \ + CvDEPTH(multicall_cv)--; \ POPBLOCK(cx,PL_curpm); \ CATCH_SET(multicall_oldcatch); \ LEAVE; \ |