3 * Copyright (c) 1991-1999, Larry Wall
5 * You may distribute under the terms of either the GNU General Public
6 * License or the Artistic License, as specified in the README file.
15 * "Away now, Shadowfax! Run, greatheart, run as you have never run before!
16 * Now we are come to the lands where you were foaled, and every stone you
17 * know. Run now! Hope is in speed!" --Gandalf
21 Perl_runops_standard(pTHX)
25 while ( PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX) ) {
26 #ifdef MACOS_TRADITIONAL
27 MACPERL_DO_ASYNC_TASKS();
36 Perl_runops_debug(pTHX)
41 if (ckWARN_d(WARN_DEBUGGING))
42 Perl_warner(aTHX_ WARN_DEBUGGING, "NULL OP IN RUN");
47 #ifdef MACOS_TRADITIONAL
48 MACPERL_DO_ASYNC_TASKS();
51 if (PL_watchaddr != 0 && *PL_watchaddr != PL_watchok)
52 PerlIO_printf(Perl_debug_log,
53 "WARNING: %"UVxf" changed from %"UVxf" to %"UVxf"\n",
54 PTR2UV(PL_watchaddr), PTR2UV(PL_watchok), (UV)*PL_watchaddr);
56 DEBUG_t(debop(PL_op));
57 DEBUG_P(debprof(PL_op));
59 } while ( PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX) );
64 return runops_standard();
65 #endif /* DEBUGGING */
69 Perl_debop(pTHX_ OP *o)
74 Perl_deb(aTHX_ "%s", PL_op_name[o->op_type]);
77 PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo->op_sv));
83 gv_fullname3(sv, (GV*)cSVOPo->op_sv, Nullch);
84 PerlIO_printf(Perl_debug_log, "(%s)", SvPV(sv, n_a));
88 PerlIO_printf(Perl_debug_log, "(NULL)");
93 PerlIO_printf(Perl_debug_log, "\n");
94 #endif /* DEBUGGING */
99 Perl_watch(pTHX_ char **addr)
105 PerlIO_printf(Perl_debug_log, "WATCHING, %"UVxf" is currently %"UVxf"\n",
106 PTR2UV(PL_watchaddr), PTR2UV(PL_watchok));
107 #endif /* DEBUGGING */
111 S_debprof(pTHX_ OP *o)
115 Newz(000, PL_profiledata, MAXO, U32);
116 ++PL_profiledata[o->op_type];
117 #endif /* DEBUGGING */
121 Perl_debprofdump(pTHX)
127 for (i = 0; i < MAXO; i++) {
128 if (PL_profiledata[i])
129 PerlIO_printf(Perl_debug_log,
130 "%5lu %s\n", (unsigned long)PL_profiledata[i],
133 #endif /* DEBUGGING */