X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/1147b55c26aa2623cfb3749b3f27a8bc6d884ca6..a1853d78a51dcd1a14b408d87ce27e98b6fc8a23:/dump.c?ds=sidebyside diff --git a/dump.c b/dump.c index a620737..6ac3d33 100644 --- a/dump.c +++ b/dump.c @@ -640,7 +640,8 @@ const struct flag_to_name pmflags_flags_names[] = { {PMf_EVAL, ",EVAL"}, {PMf_NONDESTRUCT, ",NONDESTRUCT"}, {PMf_HAS_CV, ",HAS_CV"}, - {PMf_CODELIST_PRIVATE, ",CODELIST_PRIVATE"} + {PMf_CODELIST_PRIVATE, ",CODELIST_PRIVATE"}, + {PMf_IS_QR, ",IS_QR"} }; static SV * @@ -744,6 +745,7 @@ const struct flag_to_name op_const_names[] = { {OPpCONST_SHORTCIRCUIT, ",SHORTCIRCUIT"}, {OPpCONST_STRICT, ",STRICT"}, {OPpCONST_ENTERED, ",ENTERED"}, + {OPpCONST_FOLDED, ",FOLDED"}, {OPpCONST_BARE, ",BARE"} }; @@ -881,7 +883,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o) #ifdef DUMPADDR Perl_dump_indent(aTHX_ level, file, "ADDR = 0x%"UVxf" => 0x%"UVxf"\n", (UV)o, (UV)o->op_next); #endif - if (o->op_flags || o->op_latefree || o->op_latefreed || o->op_attached) { + if (o->op_flags || o->op_slabbed || o->op_savefree) { SV * const tmpsv = newSVpvs(""); switch (o->op_flags & OPf_WANT) { case OPf_WANT_VOID: @@ -898,12 +900,8 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o) break; } append_flags(tmpsv, o->op_flags, op_flags_names); - if (o->op_latefree) - sv_catpv(tmpsv, ",LATEFREE"); - if (o->op_latefreed) - sv_catpv(tmpsv, ",LATEFREED"); - if (o->op_attached) - sv_catpv(tmpsv, ",ATTACHED"); + if (o->op_slabbed) sv_catpvs(tmpsv, ",SLABBED"); + if (o->op_savefree) sv_catpvs(tmpsv, ",SAVEFREE"); Perl_dump_indent(aTHX_ level, file, "FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX_const(tmpsv) + 1 : ""); SvREFCNT_dec(tmpsv); } @@ -945,6 +943,10 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o) if (o->op_private & OPpLVAL_DEFER) sv_catpv(tmpsv, ",LVAL_DEFER"); } + else if ((optype == OP_RV2HV || optype == OP_PADHV) + && o->op_private & OpMAYBE_TRUEBOOL) { + sv_catpvs(tmpsv, ",OpMAYBE_TRUEBOOL"); + } else { if (o->op_private & HINT_STRICT_REFS) sv_catpv(tmpsv, ",STRICT_REFS"); @@ -1365,6 +1367,8 @@ const struct flag_to_name cv_flags_names[] = { {CVf_CVGV_RC, "CVGV_RC,"}, {CVf_DYNFILE, "DYNFILE,"}, {CVf_AUTOLOAD, "AUTOLOAD,"}, + {CVf_HASEVAL, "HASEVAL"}, + {CVf_SLABBED, "SLABBED,"}, {CVf_ISXSUB, "ISXSUB,"} }; @@ -1609,7 +1613,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo return; } - if ((type <= SVt_PVLV && !isGV_with_GP(sv)) || type == SVt_PVFM) { + if (type <= SVt_PVLV && !isGV_with_GP(sv)) { if (SvPVX_const(sv)) { STRLEN delta; if (SvOOK(sv)) { @@ -1920,12 +1924,9 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo } do_gvgv_dump(level, file, " GVGV::GV", CvGV(sv)); Perl_dump_indent(aTHX_ level, file, " FILE = \"%s\"\n", CvFILE(sv)); - if (type == SVt_PVCV) - Perl_dump_indent(aTHX_ level, file, " DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv)); + Perl_dump_indent(aTHX_ level, file, " DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv)); Perl_dump_indent(aTHX_ level, file, " FLAGS = 0x%"UVxf"\n", (UV)CvFLAGS(sv)); Perl_dump_indent(aTHX_ level, file, " OUTSIDE_SEQ = %"UVuf"\n", (UV)CvOUTSIDE_SEQ(sv)); - if (type == SVt_PVFM) - Perl_dump_indent(aTHX_ level, file, " LINES = %"IVdf"\n", (IV)FmLINES(sv)); Perl_dump_indent(aTHX_ level, file, " PADLIST = 0x%"UVxf"\n", PTR2UV(CvPADLIST(sv))); if (nest < maxnest) { do_dump_pad(level+1, file, CvPADLIST(sv), 0); @@ -2051,8 +2052,6 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo (UV)(r->gofs)); Perl_dump_indent(aTHX_ level, file, " PRE_PREFIX = %"UVuf"\n", (UV)(r->pre_prefix)); - Perl_dump_indent(aTHX_ level, file, " SEEN_EVALS = %"UVuf"\n", - (UV)(r->seen_evals)); Perl_dump_indent(aTHX_ level, file, " SUBLEN = %"IVdf"\n", (IV)(r->sublen)); if (r->subbeg) @@ -2182,8 +2181,8 @@ Perl_debop(pTHX_ const OP *o) CV * const cv = deb_curcv(cxstack_ix); SV *sv; if (cv) { - AV * const padlist = CvPADLIST(cv); - AV * const comppad = MUTABLE_AV(*av_fetch(padlist, 0, FALSE)); + PADLIST * const padlist = CvPADLIST(cv); + PAD * const comppad = *PadlistARRAY(padlist); sv = *av_fetch(comppad, o->op_targ, FALSE); } else sv = NULL; @@ -2922,6 +2921,8 @@ Perl_do_op_xmldump(pTHX_ I32 level, PerlIO *file, const OP *o) sv_catpv(tmpsv, ",STRICT"); if (o->op_private & OPpCONST_ENTERED) sv_catpv(tmpsv, ",ENTERED"); + if (o->op_private & OPpCONST_FOLDED) + sv_catpv(tmpsv, ",FOLDED"); } else if (o->op_type == OP_FLIP) { if (o->op_private & OPpFLIP_LINENUM)