Change 29433 by [EMAIL PROTECTED] on 2006/12/01 22:28:11

        Remove the pp_entersub specific logic from S_get_db_sub.

Affected files ...

... //depot/perl/embed.fnc#430 edit
... //depot/perl/pp_ctl.c#587 edit
... //depot/perl/pp_hot.c#488 edit
... //depot/perl/proto.h#771 edit

Differences ...

==== //depot/perl/embed.fnc#430 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#429~29430~   2006-12-01 05:59:27.000000000 -0800
+++ perl/embed.fnc      2006-12-01 14:28:11.000000000 -0800
@@ -1277,7 +1277,7 @@
 
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
 s      |void   |do_oddball     |NN HV *hash|NN SV **relem|NN SV **firstrelem
-sR     |CV*    |get_db_sub     |NN SV **svp|NN CV *cv
+s      |void   |get_db_sub     |NN SV **svp|NN CV *cv
 sR     |SV*    |method_common  |NN SV* meth|NULLOK U32* hashp
 #endif
 

==== //depot/perl/pp_hot.c#488 (text) ====
Index: perl/pp_hot.c
--- perl/pp_hot.c#487~29378~    2006-11-25 09:34:09.000000000 -0800
+++ perl/pp_hot.c       2006-12-01 14:28:11.000000000 -0800
@@ -2683,7 +2683,7 @@
 }
 
 
-STATIC CV *
+STATIC void
 S_get_db_sub(pTHX_ SV **svp, CV *cv)
 {
     dVAR;
@@ -2714,11 +2714,6 @@
        (void)SvIOK_on(dbsv);
        SvIV_set(dbsv, PTR2IV(cv));     /* Do it the quickest way  */
     }
-
-    if (CvISXSUB(cv))
-       PL_curcopdb = PL_curcop;
-    cv = GvCV(PL_DBsub);
-    return cv;
 }
 
 PP(pp_entersub)
@@ -2828,7 +2823,11 @@
         if (CvASSERTION(cv) && PL_DBassertion)
            sv_setiv(PL_DBassertion, 1);
        
-       cv = get_db_sub(&sv, cv);
+        get_db_sub(&sv, cv);
+        if (CvISXSUB(cv))
+            PL_curcopdb = PL_curcop;
+        cv = GvCV(PL_DBsub);
+
        if (!cv || (!CvXSUB(cv) && !CvSTART(cv)))
            DIE(aTHX_ "No DB::sub routine defined");
     }

==== //depot/perl/proto.h#771 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#770~29430~     2006-12-01 05:59:27.000000000 -0800
+++ perl/proto.h        2006-12-01 14:28:11.000000000 -0800
@@ -3465,8 +3465,7 @@
                        __attribute__nonnull__(pTHX_2)
                        __attribute__nonnull__(pTHX_3);
 
-STATIC CV*     S_get_db_sub(pTHX_ SV **svp, CV *cv)
-                       __attribute__warn_unused_result__
+STATIC void    S_get_db_sub(pTHX_ SV **svp, CV *cv)
                        __attribute__nonnull__(pTHX_1)
                        __attribute__nonnull__(pTHX_2);
 
End of Patch.

Reply via email to