X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.c;h=7fa9c06933a7c8d9de35e6d30a017628e00a479f;hb=41aba5b7c932fca7d8ac17a1d4cc2e43239a475c;hp=08cb9cff8bfce90a37fc7b0a8909ed66000c8a97;hpb=eb85dfd35868e4b09d07b81ae578cef99fbf8150;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.c b/pp.c index 08cb9cf..7fa9c06 100644 --- a/pp.c +++ b/pp.c @@ -956,6 +956,8 @@ PP(pp_pow) result *= base; /* Only bother to clear the bit if it is set. */ power &= ~bit; + /* Avoid squaring base again if we're done. */ + if (power == 0) break; } } SP--; @@ -3849,7 +3851,7 @@ PP(pp_hslice) while (++MARK <= SP) { SV *keysv = *MARK; SV **svp; - I32 preeminent; + bool preeminent = FALSE; if (localizing) { preeminent = SvRMAGICAL(hv) && !other_magic ? 1 :