diff options
author | David Mitchell <davem@iabyn.com> | 2015-10-15 17:46:31 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2016-02-03 08:59:44 +0000 |
commit | 5da525e936e698594d244b27c2a587233b8ba165 (patch) | |
tree | 3539ced73e81f93b7dd1842061b3045264e18180 /pp_hot.c | |
parent | 5ee28f95c04acbb307826012a96b9fcf7baf3efd (diff) | |
download | perl-5da525e936e698594d244b27c2a587233b8ba165.tar.gz |
add CX_POP(cx) macro: glorified cxstack_ix--
but with extra checking goodness on debugging builds.
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -3273,6 +3273,7 @@ PP(pp_leavesub) SV **newsp; I32 gimme; PERL_CONTEXT *cx; + OP *retop; cx = &cxstack[cxstack_ix]; assert(CxTYPE(cx) == CXt_SUB); @@ -3339,9 +3340,10 @@ PP(pp_leavesub) CX_LEAVE_SCOPE(cx); POPSUB(cx); /* Stack values are safe: release CV and @_ ... */ POPBLOCK(cx); - cxstack_ix--; + retop = cx->blk_sub.retop; + CX_POP(cx); - return cx->blk_sub.retop; + return retop; } |