@@ -9610,17 +9610,18 @@ Perl_sv_dec_nomg(pTHX_ SV *const sv)
96109610 sv_setnv(sv,Atof(SvPVX_const(sv)) - 1.0); /* punt */
96119611}
96129612
9613- /* this define is used to eliminate a chunk of duplicated but shared logic
9614- * it has the suffix __SV_C to signal that it isnt API, and isnt meant to be
9615- * used anywhere but here - yves
9613+ /* This internal function is used to eliminate a chunk of duplicated but shared
9614+ * logic.
96169615 */
9617- #define PUSH_EXTEND_MORTAL__SV_C(AnSv) \
9618- STMT_START { \
9619- SSize_t ix = ++PL_tmps_ix; \
9620- if (UNLIKELY(ix >= PL_tmps_max)) \
9621- ix = tmps_grow_p(ix); \
9622- PL_tmps_stack[ix] = (AnSv); \
9623- } STMT_END
9616+ PERL_STATIC_INLINE void
9617+ S_push_extend_mortal(pTHX_ SV *const sv)
9618+ {
9619+ SSize_t ix = ++PL_tmps_ix;
9620+ if (UNLIKELY(ix >= PL_tmps_max))
9621+ ix = tmps_grow_p(ix);
9622+ PL_tmps_stack[ix] = sv;
9623+ }
9624+ #define push_extend_mortal(sv) S_push_extend_mortal(aTHX_ sv)
96249625
96259626/*
96269627=for apidoc sv_mortalcopy
@@ -9653,7 +9654,7 @@ Perl_sv_mortalcopy_flags(pTHX_ SV *const oldstr, U32 flags)
96539654 SvGETMAGIC(oldstr); /* before new_SV, in case it dies */
96549655 new_SV(sv);
96559656 sv_setsv_flags(sv,oldstr,flags & ~SV_GMAGIC);
9656- PUSH_EXTEND_MORTAL__SV_C (sv);
9657+ push_extend_mortal (sv);
96579658 SvTEMP_on(sv);
96589659 return sv;
96599660}
@@ -9676,7 +9677,7 @@ Perl_sv_newmortal(pTHX)
96769677
96779678 new_SV(sv);
96789679 SvFLAGS(sv) = SVs_TEMP;
9679- PUSH_EXTEND_MORTAL__SV_C (sv);
9680+ push_extend_mortal (sv);
96809681 return sv;
96819682}
96829683
@@ -9726,7 +9727,7 @@ Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags
97269727 SvFLAGS(sv) |= flags;
97279728
97289729 if(flags & SVs_TEMP){
9729- PUSH_EXTEND_MORTAL__SV_C (sv);
9730+ push_extend_mortal (sv);
97309731 }
97319732
97329733 return sv;
@@ -9752,7 +9753,7 @@ Perl_sv_2mortal(pTHX_ SV *const sv)
97529753 if (SvIMMORTAL(sv))
97539754 return sv;
97549755 SvTEMP_on(sv); /* optimize for RISC, SvIMMORTAL() contains SvREADONLY() */
9755- PUSH_EXTEND_MORTAL__SV_C (sv); ;
9756+ push_extend_mortal (sv);
97569757 return sv;
97579758}
97589759
@@ -9825,7 +9826,7 @@ Perl_newSVhek_mortal(pTHX_ const HEK *const hek)
98259826 assert(sv);
98269827 assert(!SvIMMORTAL(sv));
98279828
9828- PUSH_EXTEND_MORTAL__SV_C (sv);
9829+ push_extend_mortal (sv);
98299830 SvTEMP_on(sv);
98309831 return sv;
98319832}
0 commit comments