summaryrefslogtreecommitdiff
path: root/pp_hot.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2015-10-15 17:46:31 +0100
committerDavid Mitchell <davem@iabyn.com>2016-02-03 08:59:44 +0000
commit5da525e936e698594d244b27c2a587233b8ba165 (patch)
tree3539ced73e81f93b7dd1842061b3045264e18180 /pp_hot.c
parent5ee28f95c04acbb307826012a96b9fcf7baf3efd (diff)
downloadperl-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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pp_hot.c b/pp_hot.c
index 5f2523ca37..013eb981e6 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -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;
}