summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-10-13 03:15:50 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-10-13 03:15:50 +0000
commit6b35e00972a13cc3d5e641e82fd498a9d9f6a324 (patch)
tree3e809e40b478caf5f1a1d7f844fef4f2229189fc /pp_hot.c
parent155fc61f8f24f48a8180aab9a504f33842272586 (diff)
downloadperl-6b35e00972a13cc3d5e641e82fd498a9d9f6a324.tar.gz
change#1614 merely disabled earlier fix (doh!); undo it and properly
fixup the cop_seq value that must be seen by lexical lookups that emanate within eval'' p4raw-link: @1614 on //depot/perl: bd28dd3ca083953e5682058b02b9529902e14ca9 p4raw-id: //depot/perl@1944
Diffstat (limited to 'pp_hot.c')
-rw-r--r--pp_hot.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 701f4623da..f513c12fa2 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1465,7 +1465,7 @@ PP(pp_iter)
EXTEND(SP, 1);
cx = &cxstack[cxstack_ix];
- if (cx->cx_type != CXt_LOOP)
+ if (CxTYPE(cx) != CXt_LOOP)
DIE("panic: pp_iter");
av = cx->blk_loop.iterary;
@@ -2273,6 +2273,11 @@ PP(pp_entersub)
PUSHBLOCK(cx, CXt_SUB, MARK);
PUSHSUB(cx);
CvDEPTH(cv)++;
+ /* XXX This would be a natural place to set C<PL_compcv = cv> so
+ * that eval'' ops within this sub know the correct lexical space.
+ * Owing the speed considerations, we choose to search for the cv
+ * in doeval() instead.
+ */
if (CvDEPTH(cv) < 2)
(void)SvREFCNT_inc(cv);
else { /* save temporaries on recursion? */