void
Perl_dump_all(pTHX)
{
+ dump_all_perl(aTHX_ FALSE);
+}
+
+void
+Perl_dump_all_perl(pTHX_ bool justperl)
+{
+
dVAR;
PerlIO_setlinebuf(Perl_debug_log);
if (PL_main_root)
op_dump(PL_main_root);
- dump_packsubs(PL_defstash);
+ dump_packsubs_perl(PL_defstash, justperl);
}
void
Perl_dump_packsubs(pTHX_ const HV *stash)
{
+ dump_packsubs_perl(stash, FALSE);
+}
+
+void
+Perl_dump_packsubs_perl(pTHX_ const HV *stash, bool justperl)
+{
dVAR;
I32 i;
if (SvTYPE(gv) != SVt_PVGV || !GvGP(gv))
continue;
if (GvCVu(gv))
- dump_sub(gv);
+ dump_sub_perl(gv, justperl);
if (GvFORM(gv))
dump_form(gv);
if (HeKEY(entry)[HeKLEN(entry)-1] == ':') {
const HV * const hv = GvHV(gv);
if (hv && (hv != PL_defstash))
- dump_packsubs(hv); /* nested package */
+ dump_packsubs_perl(hv, justperl); /* nested package */
}
}
}
void
Perl_dump_sub(pTHX_ const GV *gv)
{
- SV * const sv = sv_newmortal();
+ dump_sub_perl(gv, FALSE);
+}
+
+void
+Perl_dump_sub_perl(pTHX_ const GV *gv, bool justperl)
+{
+ SV * sv;
PERL_ARGS_ASSERT_DUMP_SUB;
+ if (justperl && (CvISXSUB(GvCV(gv)) || !CvROOT(GvCV(gv))))
+ return;
+
+ sv = sv_newmortal();
gv_fullname3(sv, gv, NULL);
Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\nSUB %s = ", SvPVX_const(sv));
if (CvISXSUB(GvCV(gv)))
void
Perl_xmldump_all(pTHX)
{
+ xmldump_all_perl(FALSE);
+}
+
+void
+Perl_xmldump_all_perl(pTHX_ bool justperl)
+{
PerlIO_setlinebuf(PL_xmlfp);
if (PL_main_root)
op_xmldump(PL_main_root);
+ xmldump_packsubs_perl(PL_defstash, justperl)
if (PL_xmlfp != (PerlIO*)PerlIO_stdout())
PerlIO_close(PL_xmlfp);
PL_xmlfp = 0;
void
Perl_xmldump_sub(pTHX_ const GV *gv)
{
- SV * const sv = sv_newmortal();
+ xmldump_sub_perl(gv, FALSE);
+}
+
+void
+Perl_xmldump_sub_perl(pTHX_ const GV *gv, bool justperl)
+{
+ SV * sv;
PERL_ARGS_ASSERT_XMLDUMP_SUB;
+ if (justperl && (CvISXSUB(GvCV(gv)) || !CvROOT(GvCV(gv))))
+ return;
+
+ sv = sv_newmortal();
gv_fullname3(sv, gv, NULL);
Perl_xmldump_indent(aTHX_ 0, PL_xmlfp, "\nSUB %s = ", SvPVX(sv));
if (CvXSUB(GvCV(gv)))
p |OP* |dofile |NN OP* term|I32 force_builtin
ApR |I32 |dowantarray
Ap |void |dump_all
+p |void |dump_all_perl |bool justperl
Ap |void |dump_eval
#if defined(DUMP_FDS)
Ap |void |dump_fds |NN char* s
Ap |void |op_dump |NN const OP *o
Ap |void |pmop_dump |NULLOK PMOP* pm
Ap |void |dump_packsubs |NN const HV* stash
+p |void |dump_packsubs_perl |NN const HV* stash|bool justperl
Ap |void |dump_sub |NN const GV* gv
+p |void |dump_sub_perl |NN const GV* gv|bool justperl
Apd |void |fbm_compile |NN SV* sv|U32 flags
ApdR |char* |fbm_instr |NN unsigned char* big|NN unsigned char* bigend \
|NN SV* littlestr|U32 flags
Mp |void |xmldump_vindent|I32 level|NN PerlIO *file|NN const char* pat \
|NULLOK va_list *args
Mp |void |xmldump_all
+p |void |xmldump_all_perl |bool justperl
Mp |void |xmldump_packsubs |NN const HV* stash
+p |void |xmldump_packsubs_perl |NN const HV* stash|bool justperl
Mp |void |xmldump_sub |NN const GV* gv
+M |void |xmldump_sub_perl |NN const GV* gv|bool justperl
Mp |void |xmldump_form |NN const GV* gv
Mp |void |xmldump_eval
Mp |char* |sv_catxmlsv |NN SV *dsv|NN SV *ssv
#endif
#define dowantarray Perl_dowantarray
#define dump_all Perl_dump_all
+#ifdef PERL_CORE
+#define dump_all_perl Perl_dump_all_perl
+#endif
#define dump_eval Perl_dump_eval
#if defined(DUMP_FDS)
#define dump_fds Perl_dump_fds
#define op_dump Perl_op_dump
#define pmop_dump Perl_pmop_dump
#define dump_packsubs Perl_dump_packsubs
+#ifdef PERL_CORE
+#define dump_packsubs_perl Perl_dump_packsubs_perl
+#endif
#define dump_sub Perl_dump_sub
+#ifdef PERL_CORE
+#define dump_sub_perl Perl_dump_sub_perl
+#endif
#define fbm_compile Perl_fbm_compile
#define fbm_instr Perl_fbm_instr
#ifdef PERL_CORE
#define xmldump_indent Perl_xmldump_indent
#define xmldump_vindent Perl_xmldump_vindent
#define xmldump_all Perl_xmldump_all
+#define xmldump_all_perl Perl_xmldump_all_perl
#define xmldump_packsubs Perl_xmldump_packsubs
+#define xmldump_packsubs_perl Perl_xmldump_packsubs_perl
#define xmldump_sub Perl_xmldump_sub
+#endif
+#ifdef PERL_CORE
#define xmldump_form Perl_xmldump_form
#define xmldump_eval Perl_xmldump_eval
#define sv_catxmlsv Perl_sv_catxmlsv
#endif
#define dowantarray() Perl_dowantarray(aTHX)
#define dump_all() Perl_dump_all(aTHX)
+#ifdef PERL_CORE
+#define dump_all_perl(a) Perl_dump_all_perl(aTHX_ a)
+#endif
#define dump_eval() Perl_dump_eval(aTHX)
#if defined(DUMP_FDS)
#define dump_fds(a) Perl_dump_fds(aTHX_ a)
#define op_dump(a) Perl_op_dump(aTHX_ a)
#define pmop_dump(a) Perl_pmop_dump(aTHX_ a)
#define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a)
+#ifdef PERL_CORE
+#define dump_packsubs_perl(a,b) Perl_dump_packsubs_perl(aTHX_ a,b)
+#endif
#define dump_sub(a) Perl_dump_sub(aTHX_ a)
+#ifdef PERL_CORE
+#define dump_sub_perl(a,b) Perl_dump_sub_perl(aTHX_ a,b)
+#endif
#define fbm_compile(a,b) Perl_fbm_compile(aTHX_ a,b)
#define fbm_instr(a,b,c,d) Perl_fbm_instr(aTHX_ a,b,c,d)
#ifdef PERL_CORE
#ifdef PERL_CORE
#define xmldump_vindent(a,b,c,d) Perl_xmldump_vindent(aTHX_ a,b,c,d)
#define xmldump_all() Perl_xmldump_all(aTHX)
+#define xmldump_all_perl(a) Perl_xmldump_all_perl(aTHX_ a)
#define xmldump_packsubs(a) Perl_xmldump_packsubs(aTHX_ a)
+#define xmldump_packsubs_perl(a,b) Perl_xmldump_packsubs_perl(aTHX_ a,b)
#define xmldump_sub(a) Perl_xmldump_sub(aTHX_ a)
+#define xmldump_sub_perl(a,b) _ a,b)
#define xmldump_form(a) Perl_xmldump_form(aTHX_ a)
#define xmldump_eval() Perl_xmldump_eval(aTHX)
#define sv_catxmlsv(a,b) Perl_sv_catxmlsv(aTHX_ a,b)
#ifdef DEBUGGING
s = SvPV_nolen_const(sv);
PL_debug = get_debug_opts(&s, 0) | DEBUG_TOP_FLAG;
- DEBUG_x(dump_all());
+ DEBUG_B(dump_all());
#else
PL_debug = (SvIV(sv)) | DEBUG_TOP_FLAG;
#endif
exit(0); /* less likely to core dump than my_exit(0) */
}
#endif
- DEBUG_x(dump_all());
#ifdef DEBUGGING
+ if (DEBUG_x_TEST || DEBUG_B_TEST)
+ dump_all_perl(!DEBUG_B_TEST);
if (!DEBUG_q_TEST)
PERL_DEBUG(PerlIO_printf(Perl_debug_log, "\nEXECUTING...\n\n"));
#endif
__attribute__warn_unused_result__;
PERL_CALLCONV void Perl_dump_all(pTHX);
+PERL_CALLCONV void Perl_dump_all_perl(pTHX_ bool justperl);
PERL_CALLCONV void Perl_dump_eval(pTHX);
#if defined(DUMP_FDS)
PERL_CALLCONV void Perl_dump_fds(pTHX_ char* s)
#define PERL_ARGS_ASSERT_DUMP_PACKSUBS \
assert(stash)
+PERL_CALLCONV void Perl_dump_packsubs_perl(pTHX_ const HV* stash, bool justperl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DUMP_PACKSUBS_PERL \
+ assert(stash)
+
PERL_CALLCONV void Perl_dump_sub(pTHX_ const GV* gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DUMP_SUB \
assert(gv)
+PERL_CALLCONV void Perl_dump_sub_perl(pTHX_ const GV* gv, bool justperl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_DUMP_SUB_PERL \
+ assert(gv)
+
PERL_CALLCONV void Perl_fbm_compile(pTHX_ SV* sv, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FBM_COMPILE \
assert(file); assert(pat)
PERL_CALLCONV void Perl_xmldump_all(pTHX);
+PERL_CALLCONV void Perl_xmldump_all_perl(pTHX_ bool justperl);
PERL_CALLCONV void Perl_xmldump_packsubs(pTHX_ const HV* stash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS \
assert(stash)
+PERL_CALLCONV void Perl_xmldump_packsubs_perl(pTHX_ const HV* stash, bool justperl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_XMLDUMP_PACKSUBS_PERL \
+ assert(stash)
+
PERL_CALLCONV void Perl_xmldump_sub(pTHX_ const GV* gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_XMLDUMP_SUB \
assert(gv)
+PERL_CALLCONV void xmldump_sub_perl(pTHX_ const GV* gv, bool justperl)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_XMLDUMP_SUB_PERL \
+ assert(gv)
+
PERL_CALLCONV void Perl_xmldump_form(pTHX_ const GV* gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_XMLDUMP_FORM \