X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pad.c;h=a68e202efb0849d578b1ce24f2680b05bbc5ed3c;hb=c2615aa941885aad4d85c407467a748b3c01bdd1;hp=bf85118475fd867a14154943c8f2ec2dc4e6eb2f;hpb=82af08ae5f1a7d2e5deb69172b40d3168c149528;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pad.c b/pad.c index bf85118..a68e202 100644 --- a/pad.c +++ b/pad.c @@ -180,7 +180,7 @@ Perl_pad_new(pTHX_ int flags) SAVEI32(PL_max_intro_pending); SAVEBOOL(PL_cv_has_eval); if (flags & padnew_SAVESUB) { - SAVEI32(PL_pad_reset_pending); + SAVEBOOL(PL_pad_reset_pending); } } } @@ -1150,7 +1150,7 @@ Mark all the current temporaries for reuse * to a shared TARG. Such an alias will change randomly and unpredictably. * We avoid doing this until we can think of a Better Way. * GSAR 97-10-29 */ -void +static void S_pad_reset(pTHX) { dVAR; @@ -1310,13 +1310,7 @@ Perl_pad_free(pTHX_ PADOFFSET po) SvPADTMP_off(PL_curpad[po]); #ifdef USE_ITHREADS /* SV could be a shared hash key (eg bugid #19022) */ - if ( -#ifdef PERL_OLD_COPY_ON_WRITE - !SvIsCOW(PL_curpad[po]) -#else - !SvFAKE(PL_curpad[po]) -#endif - ) + if (!SvIsCOW(PL_curpad[po])) SvREADONLY_off(PL_curpad[po]); /* could be a freed constant */ #endif }