summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2017-11-29 14:12:51 +0000
committerZefram <zefram@fysh.org>2017-11-29 14:12:51 +0000
commitdf9e1bc13efe0941735d662db5683d62b3851535 (patch)
tree3571158d87f6fb3d9f850e9440f44238aa2015ee
parentaf8bd34d16b94bde32535062ba4e88407be233a0 (diff)
downloadperl-df9e1bc13efe0941735d662db5683d62b3851535.tar.gz
use blk_loop format for CXt_GIVEN
-rw-r--r--inline.h8
-rw-r--r--pp_ctl.c6
-rw-r--r--sv.c4
3 files changed, 9 insertions, 9 deletions
diff --git a/inline.h b/inline.h
index 2b0a23d7f8..e00dd22680 100644
--- a/inline.h
+++ b/inline.h
@@ -1657,8 +1657,8 @@ S_cx_pushgiven(pTHX_ PERL_CONTEXT *cx, SV *orig_defsv)
{
PERL_ARGS_ASSERT_CX_PUSHGIVEN;
- cx->blk_givwhen.leave_op = cLOOP->op_lastop;
- cx->blk_givwhen.defsv_save = orig_defsv;
+ cx->blk_loop.my_op = cLOOP;
+ cx->blk_loop.itersave = orig_defsv;
}
@@ -1671,8 +1671,8 @@ S_cx_popgiven(pTHX_ PERL_CONTEXT *cx)
assert(CxTYPE(cx) == CXt_GIVEN);
sv = GvSV(PL_defgv);
- GvSV(PL_defgv) = cx->blk_givwhen.defsv_save;
- cx->blk_givwhen.defsv_save = NULL;
+ GvSV(PL_defgv) = cx->blk_loop.itersave;
+ cx->blk_loop.itersave = NULL;
SvREFCNT_dec(sv);
}
diff --git a/pp_ctl.c b/pp_ctl.c
index a3ece515cf..e8fcd46f45 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -4709,8 +4709,8 @@ PP(pp_leavewhen)
}
else {
PERL_ASYNC_CHECK();
- assert(cx->blk_givwhen.leave_op->op_type == OP_LEAVEGIVEN);
- return cx->blk_givwhen.leave_op;
+ assert(cx->blk_loop.my_op->op_nextop->op_type == OP_LEAVEGIVEN);
+ return cx->blk_loop.my_op->op_nextop;
}
}
@@ -4759,7 +4759,7 @@ PP(pp_break)
cx = CX_CUR();
PL_stack_sp = PL_stack_base + cx->blk_oldsp;
- return cx->blk_givwhen.leave_op;
+ return cx->blk_loop.my_op->op_nextop;
}
static MAGIC *
diff --git a/sv.c b/sv.c
index bf0b153359..33387ee4f3 100644
--- a/sv.c
+++ b/sv.c
@@ -14639,8 +14639,8 @@ Perl_cx_dup(pTHX_ PERL_CONTEXT *cxs, I32 ix, I32 max, CLONE_PARAMS* param)
param);
break;
case CXt_GIVEN:
- ncx->blk_givwhen.defsv_save =
- sv_dup_inc(ncx->blk_givwhen.defsv_save, param);
+ ncx->blk_loop.itersave =
+ sv_dup_inc(ncx->blk_loop.itersave, param);
break;
case CXt_BLOCK:
case CXt_NULL: