diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-01-24 10:44:25 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-01-24 10:44:25 +0000 |
commit | a28356daf92caa7f638e39190a3f2c5a3cd8acfe (patch) | |
tree | 5083feb034f3d90f3b53f7d28d883bbe0296a06e /cop.h | |
parent | 4b70616db4b88e90e04bbf6a612b803f6a4d8dc1 (diff) | |
download | perl-a28356daf92caa7f638e39190a3f2c5a3cd8acfe.tar.gz |
Split out foreach iterations of temporary lists on the stack to
CXt_LOOP_STACK. Don't use cx->blk_loop.iterary to store PL_curstack.
p4raw-id: //depot/perl@33059
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -529,7 +529,7 @@ struct block_loop { SvREFCNT_dec(cx->blk_loop.itersave); \ } \ } \ - if (cx->blk_loop.iterary && cx->blk_loop.iterary != PL_curstack)\ + if ((CxTYPE(cx) != CXt_LOOP_STACK) && cx->blk_loop.iterary) \ SvREFCNT_dec(cx->blk_loop.iterary); /* given/when context */ @@ -681,7 +681,8 @@ struct context { #define CXt_GIVEN 7 #define CXt_LOOP_PLAIN 8 #define CXt_LOOP_FOR 9 -#define CXt_LOOP_RES1 10 +/* Foreach on a temporary list on the stack */ +#define CXt_LOOP_STACK 10 #define CXt_LOOP_RES2 11 /* private flags for CXt_SUB and CXt_NULL |