diff options
-rw-r--r-- | cop.h | 8 | ||||
-rw-r--r-- | perl.h | 7 | ||||
-rw-r--r-- | pp_ctl.c | 4 | ||||
-rw-r--r-- | pp_hot.c | 4 | ||||
-rw-r--r-- | pp_sort.c | 4 | ||||
-rw-r--r-- | pp_sys.c | 4 |
6 files changed, 7 insertions, 24 deletions
@@ -1351,10 +1351,8 @@ See L<perlcall/LIGHTWEIGHT CALLBACKS>. saveix_floor = PL_savestack_ix; \ if (!(flags & CXp_SUB_RE_FAKE)) \ CvDEPTH(cv)++; \ - if (CvDEPTH(cv) >= 2) { \ - PERL_STACK_OVERFLOW_CHECK(); \ + if (CvDEPTH(cv) >= 2) \ Perl_pad_push(aTHX_ padlist, CvDEPTH(cv)); \ - } \ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \ multicall_cv = cv; \ PERL_UNUSED_VAR(multicall_cv); /* for API */ \ @@ -1400,10 +1398,8 @@ See L<perlcall/LIGHTWEIGHT CALLBACKS>. PUSHSUB(cx); \ if (!(flags & CXp_SUB_RE_FAKE)) \ CvDEPTH(cv)++; \ - if (CvDEPTH(cv) >= 2) { \ - PERL_STACK_OVERFLOW_CHECK(); \ + if (CvDEPTH(cv) >= 2) \ Perl_pad_push(aTHX_ padlist, CvDEPTH(cv)); \ - } \ PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); \ multicall_cv = cv; \ multicall_cop = CvSTART(cv); \ @@ -6354,13 +6354,8 @@ expression, but with an empty argument list, like this: #define PERL_SCRIPT_MODE "r" #endif -/* - * Some operating systems are stingy with stack allocation, - * so perl may have to guard against stack overflow. - */ -#ifndef PERL_STACK_OVERFLOW_CHECK +/* not used. Kept as a NOOP for backcompat */ #define PERL_STACK_OVERFLOW_CHECK() NOOP -#endif /* * Some nonpreemptive operating systems find it convenient to @@ -2023,10 +2023,8 @@ PP(pp_dbstate) PL_debug = 0; SAVESTACK_POS(); CvDEPTH(cv)++; - if (CvDEPTH(cv) >= 2) { - PERL_STACK_OVERFLOW_CHECK(); + if (CvDEPTH(cv) >= 2) pad_push(CvPADLIST(cv), CvDEPTH(cv)); - } PAD_SET_CUR_NOSAVE(CvPADLIST(cv), CvDEPTH(cv)); RETURNOP(CvSTART(cv)); } @@ -3859,10 +3859,8 @@ PP(pp_entersub) cx->blk_oldsaveix = old_savestack_ix; padlist = CvPADLIST(cv); - if (UNLIKELY((depth = ++CvDEPTH(cv)) >= 2)) { - PERL_STACK_OVERFLOW_CHECK(); + if (UNLIKELY((depth = ++CvDEPTH(cv)) >= 2)) pad_push(padlist, depth); - } PAD_SET_CUR_NOSAVE(padlist, depth); if (LIKELY(hasargs)) { AV *const av = MUTABLE_AV(PAD_SVl(0)); @@ -1675,10 +1675,8 @@ PP(pp_sort) if (!is_xsub) { PADLIST * const padlist = CvPADLIST(cv); - if (++CvDEPTH(cv) >= 2) { - PERL_STACK_OVERFLOW_CHECK(); + if (++CvDEPTH(cv) >= 2) pad_push(padlist, CvDEPTH(cv)); - } PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv)); if (hasargs) { @@ -1391,10 +1391,8 @@ S_doform(pTHX_ CV *cv, GV *gv, OP *retop) PUSHBLOCK(cx, CXt_FORMAT, PL_stack_sp); PUSHFORMAT(cx, retop); - if (CvDEPTH(cv) >= 2) { - PERL_STACK_OVERFLOW_CHECK(); + if (CvDEPTH(cv) >= 2) pad_push(CvPADLIST(cv), CvDEPTH(cv)); - } PAD_SET_CUR_NOSAVE(CvPADLIST(cv), CvDEPTH(cv)); setdefout(gv); /* locally select filehandle so $% et al work */ |