Change 34496 by [EMAIL PROTECTED] on 2008/10/16 21:21:51

        Integrate:
        [ 34494]
        Clarify which save types are in mathoms, which aren't used, and which
        still are in use.

Affected files ...

... //depot/maint-5.10/perl/scope.c#4 integrate

Differences ...

==== //depot/maint-5.10/perl/scope.c#4 (text) ====
Index: perl/scope.c
--- perl/scope.c#3~34495~       2008-10-16 13:45:27.000000000 -0700
+++ perl/scope.c        2008-10-16 14:21:51.000000000 -0700
@@ -961,16 +961,29 @@
                SvFLAGS(sv) |= val;
            }
            break;
-           /* These are only saved in mathoms.c */
+
+           /* This would be a mathom, but Perl_save_svref() calls a static
+              function, S_save_scalar_at(), so has to stay in this file.  */
        case SAVEt_SVREF:                       /* scalar reference */
            value = (SV*)SSPOPPTR;
            ptr = SSPOPPTR;
            av = NULL; /* what to refcnt_dec */
            goto restore_sv;
+
+           /* These are only saved in mathoms.c */
+       case SAVEt_NSTAB:
+           gv = (GV*)SSPOPPTR;
+           (void)sv_clear((SV*)gv);
+           break;
        case SAVEt_LONG:                        /* long reference */
            ptr = SSPOPPTR;
            *(long*)ptr = (long)SSPOPLONG;
            break;
+       case SAVEt_IV:                          /* IV reference */
+           ptr = SSPOPPTR;
+           *(IV*)ptr = (IV)SSPOPIV;
+           break;
+
            /* This case is rendered redundant by the integration of change
               33078. See the comment near Perl_save_padsv().  */
        case SAVEt_PADSV:
@@ -993,14 +1006,6 @@
            ptr = SSPOPPTR;
            *(I8*)ptr = (I8)SSPOPINT;
            break;
-       case SAVEt_IV:                          /* IV reference */
-           ptr = SSPOPPTR;
-           *(IV*)ptr = (IV)SSPOPIV;
-           break;
-       case SAVEt_NSTAB:
-           gv = (GV*)SSPOPPTR;
-           (void)sv_clear((SV*)gv);
-           break;
        case SAVEt_DESTRUCTOR:
            ptr = SSPOPPTR;
            (*SSPOPDPTR)(ptr);
End of Patch.

Reply via email to