summaryrefslogtreecommitdiff
path: root/pad.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2013-07-24 08:39:01 -0700
committerFather Chrysostomos <sprout@cpan.org>2013-07-25 23:48:03 -0700
commit0ad6fa3530955d1b19193ff491530a86d99191a1 (patch)
tree9798985f21cf74cc19446af5d6705202246b406e /pad.c
parent3150c6161e300b1e325939ff22b76f91a8307cf5 (diff)
downloadperl-0ad6fa3530955d1b19193ff491530a86d99191a1.tar.gz
Stop op freeing from interfering with sub(){42} mutability
The problem is that when an OP_CONST is freed, it calls pad_swipe, which clears the PADTMP flag when removing the SV from the pad. Since PADTMP no longer necessarily means ‘in a pad’, we shouldn’t turn this flag off.
Diffstat (limited to 'pad.c')
-rw-r--r--pad.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/pad.c b/pad.c
index 76d8aa479e..0bf65cddb6 100644
--- a/pad.c
+++ b/pad.c
@@ -1638,8 +1638,6 @@ Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust)
"Pad 0x%"UVxf"[0x%"UVxf"] swipe: %ld\n",
PTR2UV(PL_comppad), PTR2UV(PL_curpad), (long)po));
- if (PL_curpad[po] && !SvPADMY(PL_curpad[po]))
- SvPADTMP_off(PL_curpad[po]);
if (refadjust)
SvREFCNT_dec(PL_curpad[po]);