Change 34265 by [EMAIL PROTECTED] on 2008/09/04 14:27:46

        Integrate:
        [ 34085]
        Subject: [PATCH] fix debop with pad const
        From: Reini Urban <[EMAIL PROTECTED]>
        Date: Tue, 24 Jun 2008 12:07:01 +0200
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 34086]
        Skip one test that was failing with DEBUGGING and threads,
        because after change #34085 the IV value of the OP_CONST
        isn't dumped anymore.
        
        [ 34087]
        Subject: [PATCH] Re: split smoke for threaded -DDEBUGGING builds
        From: Reini Urban <[EMAIL PROTECTED]>
        Date: Wed, 25 Jun 2008 17:30:08 +0200
        Message-ID: <[EMAIL PROTECTED]>
        
        Plus revert #34086

Affected files ...

... //depot/maint-5.10/perl/dump.c#9 integrate
... //depot/maint-5.10/perl/t/op/split.t#2 integrate

Differences ...

==== //depot/maint-5.10/perl/dump.c#9 (text) ====
Index: perl/dump.c
--- perl/dump.c#8~33946~        2008-05-28 16:09:01.000000000 -0700
+++ perl/dump.c 2008-09-04 07:27:46.000000000 -0700
@@ -1946,7 +1946,14 @@
     Perl_deb(aTHX_ "%s", OP_NAME(o));
     switch (o->op_type) {
     case OP_CONST:
-       PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo_sv));
+       /* With ITHREADS, consts are stored in the pad, and the right pad
+        * may not be active here, so check.
+        * Looks like only during compiling the pads are illegal.
+        */
+#ifdef USE_ITHREADS
+       if ((((SVOP*)o)->op_sv) || !IN_PERL_COMPILETIME)
+#endif
+           PerlIO_printf(Perl_debug_log, "(%s)", SvPEEK(cSVOPo_sv));
        break;
     case OP_GVSV:
     case OP_GV:
End of Patch.

Reply via email to