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

Reply via email to