summaryrefslogtreecommitdiff
path: root/cop.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-01-26 15:14:25 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-26 15:14:25 +0000
commitb99874c7926b2f5919256cf4bcee8eb7bf3dff22 (patch)
tree753d2ca49765336055bb472f2a8745006e74decb /cop.h
parent840fe43365baa830d5f64ca6e8c44e695a8dfb51 (diff)
downloadperl-b99874c7926b2f5919256cf4bcee8eb7bf3dff22.tar.gz
In POPLOOP, if CxITERVAR(cx) is non-NULL, then so is itersave, and
itersave is a less complex expression for the C compiler. p4raw-id: //depot/perl@33074
Diffstat (limited to 'cop.h')
-rw-r--r--cop.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/cop.h b/cop.h
index b9ca6c3467..48f9d5b2e4 100644
--- a/cop.h
+++ b/cop.h
@@ -514,15 +514,12 @@ struct block_loop {
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);