"IV",
"NV",
"RV",
+ "BIND",
"PV",
"PVIV",
"PVNV",
"PVMG",
- "PVBM",
"PVGV",
"PVLV",
"PVAV",
"IV",
"NV",
"RV",
+ "BIND",
"PV",
"PVIV",
"PVNV",
"PVMG",
- "BM",
"GV",
"PVLV",
"AV",
#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) {
+ if (o->op_flags || o->op_latefree || o->op_latefreed) {
SV * const tmpsv = newSVpvs("");
switch (o->op_flags & OPf_WANT) {
case OPf_WANT_VOID:
sv_catpv(tmpsv, ",MOD");
if (o->op_flags & OPf_SPECIAL)
sv_catpv(tmpsv, ",SPECIAL");
+ if (o->op_latefree)
+ sv_catpv(tmpsv, ",LATEFREE");
+ if (o->op_latefreed)
+ sv_catpv(tmpsv, ",LATEFREED");
Perl_dump_indent(aTHX_ level, file, "FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX_const(tmpsv) + 1 : "");
SvREFCNT_dec(tmpsv);
}
(int)(PL_dumpindent*level), "", (IV)SvREFCNT(sv),
(int)(PL_dumpindent*level), "");
- if (flags & SVs_PADSTALE) sv_catpv(d, "PADSTALE,");
- if (flags & SVs_PADTMP) sv_catpv(d, "PADTMP,");
- if (flags & SVs_PADMY) sv_catpv(d, "PADMY,");
+ if (!(flags & SVpad_NAME && (type == SVt_PVMG || type == SVt_PVNV))) {
+ if (flags & SVs_PADSTALE) sv_catpv(d, "PADSTALE,");
+ }
+ if (!(flags & SVpad_NAME && type == SVt_PVMG)) {
+ if (flags & SVs_PADTMP) sv_catpv(d, "PADTMP,");
+ if (flags & SVs_PADMY) sv_catpv(d, "PADMY,");
+ }
if (flags & SVs_TEMP) sv_catpv(d, "TEMP,");
if (flags & SVs_OBJECT) sv_catpv(d, "OBJECT,");
if (flags & SVs_GMG) sv_catpv(d, "GMG,");
if (flags & SVp_IOK) sv_catpv(d, "pIOK,");
if (flags & SVp_NOK) sv_catpv(d, "pNOK,");
if (flags & SVp_POK) sv_catpv(d, "pPOK,");
- if (flags & SVp_SCREAM && type != SVt_PVHV)
+ if (flags & SVp_SCREAM && type != SVt_PVHV && !isGV_with_GP(sv)) {
+ if (SvPCS_IMPORTED(sv))
+ sv_catpv(d, "PCS_IMPORTED,");
+ else
sv_catpv(d, "SCREAM,");
+ }
switch (type) {
case SVt_PVCV:
if (GvASSUMECV(sv)) sv_catpv(d, "ASSUMECV,");
if (GvIN_PAD(sv)) sv_catpv(d, "IN_PAD,");
}
- if (SvPAD_OUR(sv)) sv_catpv(d, "OUR,");
- if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,");
- if (SvPAD_TYPED(sv)) sv_catpv(d, "TYPED,");
if (isGV_with_GP(sv) && GvIMPORTED(sv)) {
sv_catpv(d, "IMPORT");
if (GvIMPORTED(sv) == GVf_IMPORTED)
sv_catpv(d, " ),");
}
}
+ if (SvTAIL(sv)) sv_catpv(d, "TAIL,");
+ if (SvVALID(sv)) sv_catpv(d, "VALID,");
/* FALL THROUGH */
default:
+ evaled_or_uv:
if (SvEVALED(sv)) sv_catpv(d, "EVALED,");
if (SvIsUV(sv) && !(flags & SVf_ROK)) sv_catpv(d, "IsUV,");
break;
- case SVt_PVBM:
- if (SvTAIL(sv)) sv_catpv(d, "TAIL,");
- if (SvVALID(sv)) sv_catpv(d, "VALID,");
- break;
case SVt_PVMG:
if (SvPAD_TYPED(sv)) sv_catpv(d, "TYPED,");
+ if (SvPAD_OUR(sv)) sv_catpv(d, "OUR,");
+ if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,");
break;
+ case SVt_PVNV:
+ if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,");
+ goto evaled_or_uv;
case SVt_PVAV:
break;
}
case SVt_PVGV:
sv_catpv(t, " GV=\"");
break;
- case SVt_PVBM:
- sv_catpv(t, " BM=\"");
+ case SVt_BIND:
+ sv_catpv(t, " BIND=\"");
break;
case SVt_PVFM:
sv_catpv(t, " FM=\"");
level++;
if (PM_GETRE(pm)) {
char *s = PM_GETRE(pm)->precomp;
- SV *tmpsv = newSV(0);
+ SV *tmpsv = newSVpvn("",0);
SvUTF8_on(tmpsv);
sv_catxmlpvn(tmpsv, s, strlen(s), 1);
Perl_xmldump_indent(aTHX_ level, file, "pre=\"%s\"\n",
#else
if (cSVOPo->op_sv) {
SV *tmpsv1 = newSV(0);
- SV *tmpsv2 = newSV(0);
+ SV *tmpsv2 = newSVpvn("",0);
char *s;
STRLEN len;
SvUTF8_on(tmpsv1);