@@ -9610,17 +9610,18 @@ Perl_sv_dec_nomg(pTHX_ SV *const sv)
9610
9610
sv_setnv(sv,Atof(SvPVX_const(sv)) - 1.0); /* punt */
9611
9611
}
9612
9612
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.
9616
9615
*/
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)
9624
9625
9625
9626
/*
9626
9627
=for apidoc sv_mortalcopy
@@ -9653,7 +9654,7 @@ Perl_sv_mortalcopy_flags(pTHX_ SV *const oldstr, U32 flags)
9653
9654
SvGETMAGIC(oldstr); /* before new_SV, in case it dies */
9654
9655
new_SV(sv);
9655
9656
sv_setsv_flags(sv,oldstr,flags & ~SV_GMAGIC);
9656
- PUSH_EXTEND_MORTAL__SV_C (sv);
9657
+ push_extend_mortal (sv);
9657
9658
SvTEMP_on(sv);
9658
9659
return sv;
9659
9660
}
@@ -9676,7 +9677,7 @@ Perl_sv_newmortal(pTHX)
9676
9677
9677
9678
new_SV(sv);
9678
9679
SvFLAGS(sv) = SVs_TEMP;
9679
- PUSH_EXTEND_MORTAL__SV_C (sv);
9680
+ push_extend_mortal (sv);
9680
9681
return sv;
9681
9682
}
9682
9683
@@ -9726,7 +9727,7 @@ Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags
9726
9727
SvFLAGS(sv) |= flags;
9727
9728
9728
9729
if(flags & SVs_TEMP){
9729
- PUSH_EXTEND_MORTAL__SV_C (sv);
9730
+ push_extend_mortal (sv);
9730
9731
}
9731
9732
9732
9733
return sv;
@@ -9752,7 +9753,7 @@ Perl_sv_2mortal(pTHX_ SV *const sv)
9752
9753
if (SvIMMORTAL(sv))
9753
9754
return sv;
9754
9755
SvTEMP_on(sv); /* optimize for RISC, SvIMMORTAL() contains SvREADONLY() */
9755
- PUSH_EXTEND_MORTAL__SV_C (sv); ;
9756
+ push_extend_mortal (sv);
9756
9757
return sv;
9757
9758
}
9758
9759
@@ -9825,7 +9826,7 @@ Perl_newSVhek_mortal(pTHX_ const HEK *const hek)
9825
9826
assert(sv);
9826
9827
assert(!SvIMMORTAL(sv));
9827
9828
9828
- PUSH_EXTEND_MORTAL__SV_C (sv);
9829
+ push_extend_mortal (sv);
9829
9830
SvTEMP_on(sv);
9830
9831
return sv;
9831
9832
}
0 commit comments