In any case, never copy this but use the same SV since
Artur Bergman [Sun, 2 Feb 2003 23:46:24 +0000 (23:46 +0000)]
if we copy we loose the hash we so badly need.
For op_const we might still need to copy however.

p4raw-id: //depot/perl@18641

op.c

diff --git a/op.c b/op.c
index 610c0e5..abd9417 100644 (file)
--- a/op.c
+++ b/op.c
@@ -6086,7 +6086,7 @@ Perl_peep(pTHX_ register OP *o)
             * for reference counts, sv_upgrade() etc. */
            if (cSVOP->op_sv) {
                PADOFFSET ix = pad_alloc(OP_CONST, SVs_PADTMP);
-               if (SvPADTMP(cSVOPo->op_sv)) {
+               if (o->op_type == OP_CONST && SvPADTMP(cSVOPo->op_sv)) {
                    /* If op_sv is already a PADTMP then it is being used by
                     * some pad, so make a copy. */
                    sv_setsv(PAD_SVl(ix),cSVOPo->op_sv);