Change 33074 by [EMAIL PROTECTED] on 2008/01/26 15:14:25

        In POPLOOP, if CxITERVAR(cx) is non-NULL, then so is itersave, and
        itersave is a less complex expression for the C compiler.

Affected files ...

... //depot/perl/cop.h#170 edit

Differences ...

==== //depot/perl/cop.h#170 (text) ====
Index: perl/cop.h
--- perl/cop.h#169~33070~       2008-01-26 01:34:13.000000000 -0800
+++ perl/cop.h  2008-01-26 07:14:25.000000000 -0800
@@ -514,15 +514,12 @@
            SvREFCNT_dec(cx->blk_loop.state_u.lazysv.cur);              \
            SvREFCNT_dec(cx->blk_loop.state_u.lazysv.end);              \
        }                                                               \
-       if (CxITERVAR(cx)) {                                            \
+       if (cx->blk_loop.itersave) {                                    \
             if (SvPADMY(cx->blk_loop.itersave)) {                      \
                SV ** const s_v_p = CxITERVAR(cx);                      \
                sv_2mortal(*s_v_p);                                     \
                *s_v_p = cx->blk_loop.itersave;                         \
            }                                                           \
-           else {                                                      \
-               SvREFCNT_dec(cx->blk_loop.itersave);                    \
-           }                                                           \
        }                                                               \
        if (CxTYPE(cx) == CXt_LOOP_FOR)                                 \
            SvREFCNT_dec(cx->blk_loop.state_u.ary.ary);
End of Patch.

Reply via email to