From f8db7d5b698ee09de200fdee909d6f4ea719ffac Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Sun, 5 Aug 2018 06:41:05 -0600 Subject: Use sv_catpvs where appropriate vs sv_catpv This moves calculations definitely to compile time; some optimizing compilers may already do this, but some may not. --- dump.c | 94 +++++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) (limited to 'dump.c') diff --git a/dump.c b/dump.c index 227eb996ee..8859f1df8c 100644 --- a/dump.c +++ b/dump.c @@ -361,26 +361,26 @@ Perl_sv_peek(pTHX_ SV *sv) SvPVCLEAR(t); retry: if (!sv) { - sv_catpv(t, "VOID"); + sv_catpvs(t, "VOID"); goto finish; } else if (sv == (const SV *)0x55555555 || ((char)SvTYPE(sv)) == 'U') { /* detect data corruption under memory poisoning */ - sv_catpv(t, "WILD"); + sv_catpvs(t, "WILD"); goto finish; } else if ( sv == &PL_sv_undef || sv == &PL_sv_no || sv == &PL_sv_yes || sv == &PL_sv_zero || sv == &PL_sv_placeholder) { if (sv == &PL_sv_undef) { - sv_catpv(t, "SV_UNDEF"); + sv_catpvs(t, "SV_UNDEF"); if (!(SvFLAGS(sv) & (SVf_OK|SVf_OOK|SVs_OBJECT| SVs_GMG|SVs_SMG|SVs_RMG)) && SvREADONLY(sv)) goto finish; } else if (sv == &PL_sv_no) { - sv_catpv(t, "SV_NO"); + sv_catpvs(t, "SV_NO"); if (!(SvFLAGS(sv) & (SVf_ROK|SVf_OOK|SVs_OBJECT| SVs_GMG|SVs_SMG|SVs_RMG)) && !(~SvFLAGS(sv) & (SVf_POK|SVf_NOK|SVf_READONLY| @@ -390,7 +390,7 @@ Perl_sv_peek(pTHX_ SV *sv) goto finish; } else if (sv == &PL_sv_yes) { - sv_catpv(t, "SV_YES"); + sv_catpvs(t, "SV_YES"); if (!(SvFLAGS(sv) & (SVf_ROK|SVf_OOK|SVs_OBJECT| SVs_GMG|SVs_SMG|SVs_RMG)) && !(~SvFLAGS(sv) & (SVf_POK|SVf_NOK|SVf_READONLY| @@ -401,7 +401,7 @@ Perl_sv_peek(pTHX_ SV *sv) goto finish; } else if (sv == &PL_sv_zero) { - sv_catpv(t, "SV_ZERO"); + sv_catpvs(t, "SV_ZERO"); if (!(SvFLAGS(sv) & (SVf_ROK|SVf_OOK|SVs_OBJECT| SVs_GMG|SVs_SMG|SVs_RMG)) && !(~SvFLAGS(sv) & (SVf_POK|SVf_NOK|SVf_READONLY| @@ -412,16 +412,16 @@ Perl_sv_peek(pTHX_ SV *sv) goto finish; } else { - sv_catpv(t, "SV_PLACEHOLDER"); + sv_catpvs(t, "SV_PLACEHOLDER"); if (!(SvFLAGS(sv) & (SVf_OK|SVf_OOK|SVs_OBJECT| SVs_GMG|SVs_SMG|SVs_RMG)) && SvREADONLY(sv)) goto finish; } - sv_catpv(t, ":"); + sv_catpvs(t, ":"); } else if (SvREFCNT(sv) == 0) { - sv_catpv(t, "("); + sv_catpvs(t, "("); unref++; } else if (DEBUG_R_TEST_) { @@ -445,11 +445,11 @@ Perl_sv_peek(pTHX_ SV *sv) } if (SvROK(sv)) { - sv_catpv(t, "\\"); + sv_catpvs(t, "\\"); if (SvCUR(t) + unref > 10) { SvCUR_set(t, unref + 3); *SvEND(t) = '\0'; - sv_catpv(t, "..."); + sv_catpvs(t, "..."); goto finish; } sv = SvRV(sv); @@ -469,16 +469,16 @@ Perl_sv_peek(pTHX_ SV *sv) if (type == SVt_NULL) goto finish; } else { - sv_catpv(t, "FREED"); + sv_catpvs(t, "FREED"); goto finish; } if (SvPOKp(sv)) { if (!SvPVX_const(sv)) - sv_catpv(t, "(null)"); + sv_catpvs(t, "(null)"); else { SV * const tmp = newSVpvs(""); - sv_catpv(t, "("); + sv_catpvs(t, "("); if (SvOOK(sv)) { STRLEN delta; SvOOK_offset(sv, delta); @@ -505,13 +505,13 @@ Perl_sv_peek(pTHX_ SV *sv) Perl_sv_catpvf(aTHX_ t, "(%" IVdf ")", (IV)SvIVX(sv)); } else - sv_catpv(t, "()"); + sv_catpvs(t, "()"); finish: while (unref--) - sv_catpv(t, ")"); + sv_catpvs(t, ")"); if (TAINTING_get && sv && SvTAINTED(sv)) - sv_catpv(t, " [tainted]"); + sv_catpvs(t, " [tainted]"); return SvPV_nolen(t); } @@ -875,26 +875,26 @@ S_pm_description(pTHX_ const PMOP *pm) PERL_ARGS_ASSERT_PM_DESCRIPTION; if (pmflags & PMf_ONCE) - sv_catpv(desc, ",ONCE"); + sv_catpvs(desc, ",ONCE"); #ifdef USE_ITHREADS if (SvREADONLY(PL_regex_pad[pm->op_pmoffset])) - sv_catpv(desc, ":USED"); + sv_catpvs(desc, ":USED"); #else if (pmflags & PMf_USED) - sv_catpv(desc, ":USED"); + sv_catpvs(desc, ":USED"); #endif if (regex) { if (RX_ISTAINTED(regex)) - sv_catpv(desc, ",TAINTED"); + sv_catpvs(desc, ",TAINTED"); if (RX_CHECK_SUBSTR(regex)) { if (!(RX_INTFLAGS(regex) & PREGf_NOSCAN)) - sv_catpv(desc, ",SCANFIRST"); + sv_catpvs(desc, ",SCANFIRST"); if (RX_EXTFLAGS(regex) & RXf_CHECK_ALL) - sv_catpv(desc, ",ALL"); + sv_catpvs(desc, ",ALL"); } if (RX_EXTFLAGS(regex) & RXf_SKIPWHITE) - sv_catpv(desc, ",SKIPWHITE"); + sv_catpvs(desc, ",SKIPWHITE"); } append_flags(desc, pmflags, pmflags_flags_names); @@ -1013,16 +1013,16 @@ S_do_op_dump_bar(pTHX_ I32 level, UV bar, PerlIO *file, const OP *o) SV * const tmpsv = newSVpvs(""); switch (o->op_flags & OPf_WANT) { case OPf_WANT_VOID: - sv_catpv(tmpsv, ",VOID"); + sv_catpvs(tmpsv, ",VOID"); break; case OPf_WANT_SCALAR: - sv_catpv(tmpsv, ",SCALAR"); + sv_catpvs(tmpsv, ",SCALAR"); break; case OPf_WANT_LIST: - sv_catpv(tmpsv, ",LIST"); + sv_catpvs(tmpsv, ",LIST"); break; default: - sv_catpv(tmpsv, ",UNKNOWN"); + sv_catpvs(tmpsv, ",UNKNOWN"); break; } append_flags(tmpsv, o->op_flags, op_flags_names); @@ -1086,10 +1086,10 @@ S_do_op_dump_bar(pTHX_ I32 level, UV bar, PerlIO *file, const OP *o) /* don't display anonymous zero values */ continue; - sv_catpv(tmpsv, ","); + sv_catpvs(tmpsv, ","); if (label != -1) { sv_catpv(tmpsv, &PL_op_private_labels[label]); - sv_catpv(tmpsv, "="); + sv_catpvs(tmpsv, "="); } if (enum_label == -1) Perl_sv_catpvf(aTHX_ tmpsv, "0x%" UVxf, (UV)val); @@ -1104,13 +1104,13 @@ S_do_op_dump_bar(pTHX_ I32 level, UV bar, PerlIO *file, const OP *o) && PL_op_private_labels[ix+1] == '\0')) { oppriv -= (1<