{
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;
}
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);
}
}
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;
}
}
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 *
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: