diff options
-rw-r--r-- | av.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -356,8 +356,8 @@ Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val) } AvFILLp(av) = key; } - else if (AvREAL(av)) - SvREFCNT_dec(ary[key]); + else if (AvREAL(av) && LIKELY(ary[key] != val)) + SvREFCNT_dec(ary[key]); ary[key] = val; if (SvSMAGICAL(av)) { const MAGIC *mg = SvMAGIC(av); |