static const char* const svtypenames[SVt_LAST] = {
"NULL",
- "BIND",
+ "DUMMY",
"IV",
"NV",
"PV",
static const char* const svshorttypenames[SVt_LAST] = {
"UNDEF",
- "BIND",
+ "DUMMY",
"IV",
"NV",
"PV",
}
PerlIO_putc(file, '\n');
Perl_dump_indent(aTHX_ level, file, " KEYS = %"IVdf"\n", (IV)HvUSEDKEYS(sv));
- Perl_dump_indent(aTHX_ level, file, " FILL = %"IVdf"\n", (IV)HvFILL(sv));
+ {
+ STRLEN count = 0;
+ HE **ents = HvARRAY(sv);
+
+ if (ents) {
+ HE *const *const last = ents + HvMAX(sv);
+ count = last + 1 - ents;
+
+ do {
+ if (!*ents)
+ --count;
+ } while (++ents <= last);
+ }
+
+ if (SvOOK(sv)) {
+ struct xpvhv_aux *const aux = HvAUX(sv);
+ Perl_dump_indent(aTHX_ level, file, " FILL = %"UVuf
+ " (cached = %"UVuf")\n",
+ (UV)count, (UV)aux->xhv_fill_lazy);
+ } else {
+ Perl_dump_indent(aTHX_ level, file, " FILL = %"UVuf"\n",
+ (UV)count);
+ }
+ }
Perl_dump_indent(aTHX_ level, file, " MAX = %"IVdf"\n", (IV)HvMAX(sv));
if (SvOOK(sv)) {
Perl_dump_indent(aTHX_ level, file, " RITER = %"IVdf"\n", (IV)HvRITER_get(sv));
case SVt_PVGV:
sv_catpv(t, " GV=\"");
break;
- case SVt_BIND:
- sv_catpv(t, " BIND=\"");
+ case SVt_DUMMY:
+ sv_catpv(t, " DUMMY=\"");
break;
case SVt_REGEXP:
sv_catpv(t, " REGEXP=\"");