diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2004-07-23 09:52:59 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2004-07-23 09:52:59 +0000 |
commit | f39bc417872f70cd842818eabb72f1c97d78cdd2 (patch) | |
tree | 580290513860e81838a2510e5ea1fa7fc109e826 /pp_hot.c | |
parent | 0dfdcd8a63a82bd61087d84a6f130e03a4b20ed9 (diff) | |
download | perl-f39bc417872f70cd842818eabb72f1c97d78cdd2.tar.gz |
remove the return stack PL_retstack, and store return ops in the CX
structure directly instead
p4raw-id: //depot/perl@23156
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -2409,7 +2409,7 @@ PP(pp_leavesub) PL_curpm = newpm; /* ... and pop $1 et al */ LEAVESUB(sv); - return pop_return(); + return cx->blk_sub.retop; } /* This duplicates the above code because the above code must not @@ -2567,7 +2567,7 @@ PP(pp_leavesublv) PL_curpm = newpm; /* ... and pop $1 et al */ LEAVESUB(sv); - return pop_return(); + return cx->blk_sub.retop; } @@ -2697,9 +2697,9 @@ PP(pp_entersub) dMARK; register I32 items = SP - MARK; AV* padlist = CvPADLIST(cv); - push_return(PL_op->op_next); PUSHBLOCK(cx, CXt_SUB, MARK); PUSHSUB(cx); + cx->blk_sub.retop = PL_op->op_next; CvDEPTH(cv)++; /* XXX This would be a natural place to set C<PL_compcv = cv> so * that eval'' ops within this sub know the correct lexical space. |