X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/216d46f403f3bc54fccdab3202f0699506250d5a..8e7e33ef85748a7a693c09b1547c39c96575f347:/cop.h diff --git a/cop.h b/cop.h index 8a45b09..e1f429d 100644 --- a/cop.h +++ b/cop.h @@ -572,8 +572,7 @@ struct block_format { /* free all savestack items back to the watermark of the specified context */ -#define CX_LEAVE_SCOPE(cx) \ - LEAVE_SCOPE(cx->cx_u.cx_blk.blku_old_savestack_ix) +#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->cx_old_savestack_ix) /* base for the next two macros. Don't use directly. * The context frame holds a reference to the CV so that it can't be @@ -625,7 +624,7 @@ struct block_format { cx->blk_format.dfoutgv = PL_defoutgv; \ cx->blk_format.prevcomppad = PL_comppad; \ cx->blk_u16 = 0; \ - cx->cx_u.cx_blk.blku_old_savestack_ix = PL_savestack_ix; \ + cx->cx_old_savestack_ix = PL_savestack_ix; \ SvREFCNT_inc_simple_void_NN(cv); \ CvDEPTH(cv)++; \ SvREFCNT_inc_void(cx->blk_format.dfoutgv) @@ -785,7 +784,7 @@ struct block_loop { cx->blk_loop.my_op = cLOOP; \ cx->blk_loop.state_u.ary.ary = NULL; \ cx->blk_loop.state_u.ary.ix = 0; \ - cx->cx_u.cx_blk.blku_old_savestack_ix = PL_savestack_ix; \ + cx->cx_old_savestack_ix = PL_savestack_ix; \ cx->blk_loop.itervar_u.svp = NULL; \ cx->blk_loop.itersave = NULL; @@ -801,7 +800,7 @@ struct block_loop { cx->blk_loop.state_u.ary.ary = NULL; \ cx->blk_loop.state_u.ary.ix = 0; \ cx->blk_loop.itervar_u.svp = (SV**)(ivar); \ - cx->cx_u.cx_blk.blku_old_savestack_ix = PL_savestack_ix; \ + cx->cx_old_savestack_ix = PL_savestack_ix; \ cx->blk_loop.itersave = isave; \ PUSHLOOP_FOR_setpad(cx); @@ -829,7 +828,7 @@ struct block_givwhen { }; #define PUSHWHEN(cx) \ - cx->cx_u.cx_blk.blku_old_savestack_ix = PL_savestack_ix; \ + cx->cx_old_savestack_ix = PL_savestack_ix; \ cx->blk_givwhen.leave_op = cLOGOP->op_other; #define PUSHGIVEN(cx, orig_var) \ @@ -847,7 +846,7 @@ struct block_givwhen { /* basic block, i.e. pp_enter/leave */ #define PUSHBASICBLK(cx) \ - cx->cx_u.cx_blk.blku_old_savestack_ix = PL_savestack_ix; + cx->cx_old_savestack_ix = PL_savestack_ix; #define POPBASICBLK(cx) \ NOOP; @@ -864,7 +863,6 @@ struct block { I32 blku_oldscopesp; /* scope stack index */ PMOP * blku_oldpm; /* values of pattern match vars */ SSize_t blku_old_tmpsfloor; /* saved PL_tmps_floor */ - I32 blku_old_savestack_ix; /* saved PL_savestack_ix */ union { struct block_sub blku_sub; @@ -896,7 +894,7 @@ struct block { (long)PL_scopestack_ix, \ (long)(cxstack[cxstack_ix].blk_oldscopesp), \ (long)PL_savestack_ix, \ - (long)(cxstack[cxstack_ix].cx_u.cx_blk.blku_old_savestack_ix),\ + (long)(cxstack[cxstack_ix].cx_old_savestack_ix), \ __FILE__, __LINE__)); /* Enter a block. */ @@ -921,8 +919,8 @@ struct block { /* LEAVE_SCOPE() should have made this true. /(?{})/ cheats * and leaves a CX entry lying around for repeated use, so * skip for multicall */ \ - assert((CxTYPE(cx) == CXt_SUB && CxMULTICALL(cx)) || \ - PL_savestack_ix == cx->cx_u.cx_blk.blku_old_savestack_ix); \ + assert( (CxTYPE(cx) == CXt_SUB && CxMULTICALL(cx)) \ + || PL_savestack_ix == cx->cx_old_savestack_ix); \ PL_tmps_floor = cx->cx_u.cx_blk.blku_old_tmpsfloor; \ PL_curpm = cx->blk_oldpm; @@ -993,7 +991,7 @@ struct subst { #define CxONCE(cx) ((cx)->cx_type & CXp_ONCE) struct context { - I32 cx_old_savestack_ix; + I32 cx_old_savestack_ix; /* saved PL_savestack_ix */ union { struct block cx_blk; struct subst cx_subst; @@ -1262,7 +1260,7 @@ See L. PUSHSTACKi(PERLSI_MULTICALL); \ PUSHBLOCK(cx, (CXt_SUB|CXp_MULTICALL|flags), PL_stack_sp); \ PUSHSUB(cx); \ - cx->cx_u.cx_blk.blku_old_savestack_ix = PL_savestack_ix; \ + cx->cx_old_savestack_ix = PL_savestack_ix; \ SAVEVPTR(PL_op); \ if (!(flags & CXp_SUB_RE_FAKE)) \ CvDEPTH(cv)++; \