@@ -9598,17 +9598,18 @@ Perl_sv_dec_nomg(pTHX_ SV *const sv)
95989598 sv_setnv(sv,Atof(SvPVX_const(sv)) - 1.0); /* punt */
95999599}
96009600
9601- /* this define is used to eliminate a chunk of duplicated but shared logic
9602- * it has the suffix __SV_C to signal that it isnt API, and isnt meant to be
9603- * used anywhere but here - yves
9601+ /* This internal function is used to eliminate a chunk of duplicated but shared
9602+ * logic.
96049603 */
9605- #define PUSH_EXTEND_MORTAL__SV_C(AnSv) \
9606- STMT_START { \
9607- SSize_t ix = ++PL_tmps_ix; \
9608- if (UNLIKELY(ix >= PL_tmps_max)) \
9609- ix = tmps_grow_p(ix); \
9610- PL_tmps_stack[ix] = (AnSv); \
9611- } STMT_END
9604+ PERL_STATIC_INLINE void
9605+ S_push_extend_mortal(pTHX_ SV *const sv)
9606+ {
9607+ SSize_t ix = ++PL_tmps_ix;
9608+ if (UNLIKELY(ix >= PL_tmps_max))
9609+ ix = tmps_grow_p(ix);
9610+ PL_tmps_stack[ix] = sv;
9611+ }
9612+ #define push_extend_mortal(sv) S_push_extend_mortal(aTHX_ sv)
96129613
96139614/*
96149615=for apidoc sv_mortalcopy
@@ -9641,7 +9642,7 @@ Perl_sv_mortalcopy_flags(pTHX_ SV *const oldstr, U32 flags)
96419642 SvGETMAGIC(oldstr); /* before new_SV, in case it dies */
96429643 new_SV(sv);
96439644 sv_setsv_flags(sv,oldstr,flags & ~SV_GMAGIC);
9644- PUSH_EXTEND_MORTAL__SV_C (sv);
9645+ push_extend_mortal (sv);
96459646 SvTEMP_on(sv);
96469647 return sv;
96479648}
@@ -9664,7 +9665,7 @@ Perl_sv_newmortal(pTHX)
96649665
96659666 new_SV(sv);
96669667 SvFLAGS(sv) = SVs_TEMP;
9667- PUSH_EXTEND_MORTAL__SV_C (sv);
9668+ push_extend_mortal (sv);
96689669 return sv;
96699670}
96709671
@@ -9714,7 +9715,7 @@ Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags
97149715 SvFLAGS(sv) |= flags;
97159716
97169717 if(flags & SVs_TEMP){
9717- PUSH_EXTEND_MORTAL__SV_C (sv);
9718+ push_extend_mortal (sv);
97189719 }
97199720
97209721 return sv;
@@ -9739,7 +9740,7 @@ Perl_sv_2mortal(pTHX_ SV *const sv)
97399740 return sv;
97409741 if (SvIMMORTAL(sv))
97419742 return sv;
9742- PUSH_EXTEND_MORTAL__SV_C (sv);
9743+ push_extend_mortal (sv);
97439744 SvTEMP_on(sv);
97449745 return sv;
97459746}
@@ -9813,7 +9814,7 @@ Perl_newSVhek_mortal(pTHX_ const HEK *const hek)
98139814 assert(sv);
98149815 assert(!SvIMMORTAL(sv));
98159816
9816- PUSH_EXTEND_MORTAL__SV_C (sv);
9817+ push_extend_mortal (sv);
98179818 SvTEMP_on(sv);
98189819 return sv;
98199820}
0 commit comments