In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/31ada1fbe5f99b57f19d888d2681aa42d8b87898?hp=b7b593d8697a09eae6b17d6b39f66a0664b2bafb>
- Log ----------------------------------------------------------------- commit 31ada1fbe5f99b57f19d888d2681aa42d8b87898 Author: Jim Cromie <[email protected]> Date: Sat Apr 4 12:49:27 2015 -0600 fix XXX on DEBUG_TOP_FLAG comment DEBUG_TOP_FLAG is ORd into PL_debug when -D option is used, so that "if (PL_debug)" can be used, w/o also enabling (or requiring) any specific DEBUG_(.)_FLAGs. It is used in Perl_runops_debug to short-circuit several DEBUG_(.)_TESTs. M perl.h commit 440568ac3ea48995957904d59ba142ce1ae72d90 Author: Jim Cromie <[email protected]> Date: Wed Dec 3 10:34:36 2014 -0700 perl_clone_using: Zero -DPERL_TRACE_OPS mem for sub-threads perl_clone_using() is missing Zero init of PL_op_exec_cnt[]. This causes sub-threads in threaded -DPERL_TRACE_OPS builds to spew exceedingly large op-counts at destruct. These counts would print %x as "ABABABAB", clearly a mem-poison value. M sv.c ----------------------------------------------------------------------- Summary of changes: perl.h | 3 +-- sv.c | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/perl.h b/perl.h index dcb184b..0f6f679 100644 --- a/perl.h +++ b/perl.h @@ -4007,8 +4007,7 @@ Gid_t getegid (void); #define DEBUG_MASK 0x07FFEFFF /* mask of all the standard flags */ #define DEBUG_DB_RECURSE_FLAG 0x40000000 -#define DEBUG_TOP_FLAG 0x80000000 /* XXX what's this for ??? Signal - that something was done? */ +#define DEBUG_TOP_FLAG 0x80000000 /* -D was given --> PL_debug |= FLAG */ # define DEBUG_p_TEST_ (PL_debug & DEBUG_p_FLAG) # define DEBUG_s_TEST_ (PL_debug & DEBUG_s_FLAG) diff --git a/sv.c b/sv.c index 8440763..f2f86d0 100644 --- a/sv.c +++ b/sv.c @@ -14447,6 +14447,9 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, # ifdef DEBUG_LEAKING_SCALARS PL_sv_serial = (((UV)my_perl >> 2) & 0xfff) * 1000000; # endif +# ifdef PERL_TRACE_OPS + Zero(PL_op_exec_cnt, OP_max+2, UV); +# endif #else /* !DEBUGGING */ Zero(my_perl, 1, PerlInterpreter); #endif /* DEBUGGING */ -- Perl5 Master Repository
