newer c3.patch
Brandon L Black [Wed, 27 Dec 2006 15:39:41 +0000 (15:39 +0000)]
c3.patch

index c2ab530..c1248ee 100644 (file)
--- a/c3.patch
+++ b/c3.patch
@@ -1,7 +1,7 @@
 === Makefile.micro
 ==================================================================
---- Makefile.micro     (/local/perl-current)   (revision 12508)
-+++ Makefile.micro     (/local/perl-c3)        (revision 12508)
+--- Makefile.micro     (/local/perl-current)   (revision 12570)
++++ Makefile.micro     (/local/perl-c3)        (revision 12570)
 @@ -9,7 +9,7 @@
  all:  microperl
  
@@ -23,8 +23,8 @@
  
 === embed.h
 ==================================================================
---- embed.h    (/local/perl-current)   (revision 12508)
-+++ embed.h    (/local/perl-c3)        (revision 12508)
+--- embed.h    (/local/perl-current)   (revision 12570)
++++ embed.h    (/local/perl-c3)        (revision 12570)
 @@ -266,6 +266,10 @@
  #define gv_efullname          Perl_gv_efullname
  #define gv_efullname4         Perl_gv_efullname4
@@ -49,8 +49,8 @@
  #define gv_fetchmethod_autoload(a,b,c)        Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
 === embedvar.h
 ==================================================================
---- embedvar.h (/local/perl-current)   (revision 12508)
-+++ embedvar.h (/local/perl-c3)        (revision 12508)
+--- embedvar.h (/local/perl-current)   (revision 12570)
++++ embedvar.h (/local/perl-c3)        (revision 12570)
 @@ -229,6 +229,7 @@
  #define PL_incgv              (vTHX->Iincgv)
  #define PL_initav             (vTHX->Iinitav)
@@ -69,8 +69,8 @@
  #define PL_Ilast_lop_op               PL_last_lop_op
 === pod/perlapi.pod
 ==================================================================
---- pod/perlapi.pod    (/local/perl-current)   (revision 12508)
-+++ pod/perlapi.pod    (/local/perl-c3)        (revision 12508)
+--- pod/perlapi.pod    (/local/perl-current)   (revision 12570)
++++ pod/perlapi.pod    (/local/perl-c3)        (revision 12570)
 @@ -1280,7 +1280,7 @@
  The argument C<level> should be either 0 or -1.  If C<level==0>, as a
  side-effect creates a glob with the given C<name> in the given C<stash>
@@ -82,8 +82,8 @@
  GV returned from C<gv_fetchmeth> may be a method cache entry, which is not
 === global.sym
 ==================================================================
---- global.sym (/local/perl-current)   (revision 12508)
-+++ global.sym (/local/perl-c3)        (revision 12508)
+--- global.sym (/local/perl-current)   (revision 12570)
++++ global.sym (/local/perl-c3)        (revision 12570)
 @@ -133,6 +133,10 @@
  Perl_gv_efullname3
  Perl_gv_efullname4
@@ -97,8 +97,8 @@
  Perl_gv_fetchmethod
 === universal.c
 ==================================================================
---- universal.c        (/local/perl-current)   (revision 12508)
-+++ universal.c        (/local/perl-c3)        (revision 12508)
+--- universal.c        (/local/perl-current)   (revision 12570)
++++ universal.c        (/local/perl-c3)        (revision 12570)
 @@ -36,12 +36,10 @@
               int len, int level)
  {
  
      /* A stash/class can go by many names (ie. User == main::User), so 
         we compare the stash itself just in case */
-@@ -56,75 +54,27 @@
+@@ -56,75 +54,23 @@
      if (strEQ(name, "UNIVERSAL"))
        return TRUE;
  
 -#endif
 -              return (sv == &PL_sv_yes);
 -          }
-+    stash_linear_isa = mro_linear(stash);
++    stash_linear_isa = sv_2mortal(mro_linear(stash));
 +    svp = AvARRAY(stash_linear_isa) + 1;
 +    items = AvFILLp(stash_linear_isa);
 +    while (items--) {
 -                            hvname) );
 -          hv_clear(hv);
 -          sv_setiv(subgen, PL_sub_generation);
-+        if(name_stash == basestash
-+           || strEQ(name, SvPVX(basename_sv))) {
-+            SvREFCNT_dec(stash_linear_isa);
+-      }
++        if(name_stash == basestash || strEQ(name, SvPVX(basename_sv)))
 +          return TRUE;
-       }
      }
  
 -    gvp = (GV**)hv_fetchs(stash, "ISA", FALSE);
 -          (void)hv_store(hv,name,len,&PL_sv_no,0);
 -      }
 -    }
-+    SvREFCNT_dec(stash_linear_isa);
      return FALSE;
  }
  
 === gv.c
 ==================================================================
---- gv.c       (/local/perl-current)   (revision 12508)
-+++ gv.c       (/local/perl-c3)        (revision 12508)
+--- gv.c       (/local/perl-current)   (revision 12570)
++++ gv.c       (/local/perl-c3)        (revision 12570)
 @@ -298,7 +298,7 @@
  The argument C<level> should be either 0 or -1.  If C<level==0>, as a
  side-effect creates a glob with the given C<name> in the given C<stash>
      return 0;
 === perlapi.h
 ==================================================================
---- perlapi.h  (/local/perl-current)   (revision 12508)
-+++ perlapi.h  (/local/perl-c3)        (revision 12508)
+--- perlapi.h  (/local/perl-current)   (revision 12570)
++++ perlapi.h  (/local/perl-c3)        (revision 12570)
 @@ -336,6 +336,8 @@
  #define PL_initav             (*Perl_Iinitav_ptr(aTHX))
  #undef  PL_inplace
  #undef  PL_last_lop
 === win32/Makefile
 ==================================================================
---- win32/Makefile     (/local/perl-current)   (revision 12508)
-+++ win32/Makefile     (/local/perl-c3)        (revision 12508)
+--- win32/Makefile     (/local/perl-current)   (revision 12570)
++++ win32/Makefile     (/local/perl-c3)        (revision 12570)
 @@ -644,6 +644,7 @@
                ..\dump.c       \
                ..\globals.c    \
                ..\mathoms.c    \
 === win32/makefile.mk
 ==================================================================
---- win32/makefile.mk  (/local/perl-current)   (revision 12508)
-+++ win32/makefile.mk  (/local/perl-c3)        (revision 12508)
+--- win32/makefile.mk  (/local/perl-current)   (revision 12570)
++++ win32/makefile.mk  (/local/perl-c3)        (revision 12570)
 @@ -813,6 +813,7 @@
                ..\dump.c       \
                ..\globals.c    \
                ..\mathoms.c    \
 === win32/Makefile.ce
 ==================================================================
---- win32/Makefile.ce  (/local/perl-current)   (revision 12508)
-+++ win32/Makefile.ce  (/local/perl-c3)        (revision 12508)
+--- win32/Makefile.ce  (/local/perl-current)   (revision 12570)
++++ win32/Makefile.ce  (/local/perl-c3)        (revision 12570)
 @@ -571,6 +571,7 @@
                ..\dump.c       \
                ..\globals.c    \
  $(DLLDIR)\mathoms.obj \
 === NetWare/Makefile
 ==================================================================
---- NetWare/Makefile   (/local/perl-current)   (revision 12508)
-+++ NetWare/Makefile   (/local/perl-c3)        (revision 12508)
+--- NetWare/Makefile   (/local/perl-current)   (revision 12570)
++++ NetWare/Makefile   (/local/perl-c3)        (revision 12570)
 @@ -701,6 +701,7 @@
                ..\dump.c       \
                ..\globals.c    \
                  ..\mathoms.c    \
 === vms/descrip_mms.template
 ==================================================================
---- vms/descrip_mms.template   (/local/perl-current)   (revision 12508)
-+++ vms/descrip_mms.template   (/local/perl-c3)        (revision 12508)
+--- vms/descrip_mms.template   (/local/perl-current)   (revision 12570)
++++ vms/descrip_mms.template   (/local/perl-c3)        (revision 12570)
 @@ -279,13 +279,13 @@
  
  #### End of system configuration section. ####
  locale$(O) : locale.c $(h)
 === Makefile.SH
 ==================================================================
---- Makefile.SH        (/local/perl-current)   (revision 12508)
-+++ Makefile.SH        (/local/perl-c3)        (revision 12508)
+--- Makefile.SH        (/local/perl-current)   (revision 12570)
++++ Makefile.SH        (/local/perl-c3)        (revision 12570)
 @@ -364,7 +364,7 @@
  h5 = utf8.h warnings.h
  h = $(h1) $(h2) $(h3) $(h4) $(h5)
  
 === proto.h
 ==================================================================
---- proto.h    (/local/perl-current)   (revision 12508)
-+++ proto.h    (/local/perl-c3)        (revision 12508)
+--- proto.h    (/local/perl-current)   (revision 12570)
++++ proto.h    (/local/perl-c3)        (revision 12570)
 @@ -624,6 +624,18 @@
  PERL_CALLCONV GV*     Perl_gv_fetchfile(pTHX_ const char* name)
                        __attribute__nonnull__(pTHX_1);
  
 === ext/B/t/concise-xs.t
 ==================================================================
---- ext/B/t/concise-xs.t       (/local/perl-current)   (revision 12508)
-+++ ext/B/t/concise-xs.t       (/local/perl-c3)        (revision 12508)
+--- ext/B/t/concise-xs.t       (/local/perl-current)   (revision 12570)
++++ ext/B/t/concise-xs.t       (/local/perl-c3)        (revision 12570)
 @@ -117,7 +117,7 @@
  use Carp;
  use Test::More tests => ( # per-pkg tests (function ct + require_ok)
  
 === ext/B/B.xs
 ==================================================================
---- ext/B/B.xs (/local/perl-current)   (revision 12508)
-+++ ext/B/B.xs (/local/perl-c3)        (revision 12508)
+--- ext/B/B.xs (/local/perl-current)   (revision 12570)
++++ ext/B/B.xs (/local/perl-c3)        (revision 12570)
 @@ -604,6 +604,7 @@
  #define B_main_start()        PL_main_start
  #define B_amagic_generation() PL_amagic_generation
  
 === ext/B/B.pm
 ==================================================================
---- ext/B/B.pm (/local/perl-current)   (revision 12508)
-+++ ext/B/B.pm (/local/perl-c3)        (revision 12508)
+--- ext/B/B.pm (/local/perl-current)   (revision 12570)
++++ ext/B/B.pm (/local/perl-c3)        (revision 12570)
 @@ -23,6 +23,7 @@
                parents comppadlist sv_undef compile_stats timing_info
                begin_av init_av unitcheck_av check_av end_av regex_padav
  sub OPf_KIDS ();
 === ext/mro/t/basic_01_dfs.t
 ==================================================================
---- ext/mro/t/basic_01_dfs.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_01_dfs.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_01_dfs.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_01_dfs.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,54 @@
 +#!./perl
 +
 +is(UNIVERSAL::can("Diamond_D", 'hello')->(), 'Diamond_A::hello', '... can(method) resolved itself as expected');
 === ext/mro/t/vulcan_c3.t
 ==================================================================
---- ext/mro/t/vulcan_c3.t      (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/vulcan_c3.t      (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/vulcan_c3.t      (/local/perl-current)   (revision 12570)
++++ ext/mro/t/vulcan_c3.t      (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,73 @@
 +#!./perl
 +
 +    '... got the right MRO for the Vulcan Dylan Example');  
 === ext/mro/t/basic_02_dfs.t
 ==================================================================
---- ext/mro/t/basic_02_dfs.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_02_dfs.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_02_dfs.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_02_dfs.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,122 @@
 +#!./perl
 +
 +is(Test::A->can('C_or_E')->(), 'Test::E', '... can got the expected method output');
 === ext/mro/t/basic_03_dfs.t
 ==================================================================
---- ext/mro/t/basic_03_dfs.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_03_dfs.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_03_dfs.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_03_dfs.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,108 @@
 +#!./perl
 +
 +is(Test::A->C_or_D, 'Test::D', '... got the right method dispatch');    
 === ext/mro/t/basic_04_dfs.t
 ==================================================================
---- ext/mro/t/basic_04_dfs.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_04_dfs.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_04_dfs.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_04_dfs.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,41 @@
 +#!./perl
 +
 +
 === ext/mro/t/basic_05_dfs.t
 ==================================================================
---- ext/mro/t/basic_05_dfs.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_05_dfs.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_05_dfs.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_05_dfs.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,62 @@
 +#!./perl
 +
 +   '... got the right next::method dispatch path');
 === ext/mro/t/vulcan_dfs.t
 ==================================================================
---- ext/mro/t/vulcan_dfs.t     (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/vulcan_dfs.t     (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/vulcan_dfs.t     (/local/perl-current)   (revision 12570)
++++ ext/mro/t/vulcan_dfs.t     (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,73 @@
 +#!./perl
 +
 +    '... got the right MRO for the Vulcan Dylan Example');  
 === ext/mro/t/dbic_c3.t
 ==================================================================
---- ext/mro/t/dbic_c3.t        (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/dbic_c3.t        (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/dbic_c3.t        (/local/perl-current)   (revision 12570)
++++ ext/mro/t/dbic_c3.t        (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,126 @@
 +#!./perl
 +
 +    '... got the right C3 merge order for xx::DBIx::Class::Core');
 === ext/mro/t/complex_c3.t
 ==================================================================
---- ext/mro/t/complex_c3.t     (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/complex_c3.t     (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/complex_c3.t     (/local/perl-current)   (revision 12570)
++++ ext/mro/t/complex_c3.t     (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,144 @@
 +#!./perl
 +
 +    '... got the right C3 merge order for Test::K');
 === ext/mro/t/dbic_dfs.t
 ==================================================================
---- ext/mro/t/dbic_dfs.t       (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/dbic_dfs.t       (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/dbic_dfs.t       (/local/perl-current)   (revision 12570)
++++ ext/mro/t/dbic_dfs.t       (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,150 @@
 +#!./perl
 +
 +    '... got the right DFS merge order for xx::DBIx::Class::Core');
 === ext/mro/t/recursion_c3.t
 ==================================================================
---- ext/mro/t/recursion_c3.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/recursion_c3.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/recursion_c3.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/recursion_c3.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,90 @@
 +#!./perl
 +
 +}
 === ext/mro/t/overload_c3.t
 ==================================================================
---- ext/mro/t/overload_c3.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/overload_c3.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/overload_c3.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/overload_c3.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,55 @@
 +#!./perl
 +
 +
 === ext/mro/t/complex_dfs.t
 ==================================================================
---- ext/mro/t/complex_dfs.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/complex_dfs.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/complex_dfs.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/complex_dfs.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,144 @@
 +#!./perl
 +
 +    '... got the right DFS merge order for Test::K');
 === ext/mro/t/inconsistent_c3.t
 ==================================================================
---- ext/mro/t/inconsistent_c3.t        (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/inconsistent_c3.t        (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/inconsistent_c3.t        (/local/perl-current)   (revision 12570)
++++ ext/mro/t/inconsistent_c3.t        (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,48 @@
 +#!./perl
 +
 +like($@, qr/^Inconsistent hierarchy/, '... got the right error with an inconsistent hierarchy');
 === ext/mro/t/recursion_dfs.t
 ==================================================================
---- ext/mro/t/recursion_dfs.t  (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/recursion_dfs.t  (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/recursion_dfs.t  (/local/perl-current)   (revision 12570)
++++ ext/mro/t/recursion_dfs.t  (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,90 @@
 +#!./perl
 +
 +}
 === ext/mro/t/basic_01_c3.t
 ==================================================================
---- ext/mro/t/basic_01_c3.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_01_c3.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_01_c3.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_01_c3.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,54 @@
 +#!./perl
 +
 +is(UNIVERSAL::can("Diamond_D", 'hello')->(), 'Diamond_C::hello', '... can(method) resolved itself as expected');
 === ext/mro/t/basic_02_c3.t
 ==================================================================
---- ext/mro/t/basic_02_c3.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_02_c3.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_02_c3.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_02_c3.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,122 @@
 +#!./perl
 +
 +is(Test::A->can('C_or_E')->(), 'Test::C', '... can got the expected method output');
 === ext/mro/t/overload_dfs.t
 ==================================================================
---- ext/mro/t/overload_dfs.t   (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/overload_dfs.t   (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/overload_dfs.t   (/local/perl-current)   (revision 12570)
++++ ext/mro/t/overload_dfs.t   (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,55 @@
 +#!./perl
 +
 +
 === ext/mro/t/basic_03_c3.t
 ==================================================================
---- ext/mro/t/basic_03_c3.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_03_c3.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_03_c3.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_03_c3.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,108 @@
 +#!./perl
 +
 +is(Test::A->C_or_D, 'Test::C', '... got the right method dispatch');    
 === ext/mro/t/basic_04_c3.t
 ==================================================================
---- ext/mro/t/basic_04_c3.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_04_c3.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_04_c3.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_04_c3.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,41 @@
 +#!./perl
 +
 +
 === ext/mro/t/basic_05_c3.t
 ==================================================================
---- ext/mro/t/basic_05_c3.t    (/local/perl-current)   (revision 12508)
-+++ ext/mro/t/basic_05_c3.t    (/local/perl-c3)        (revision 12508)
+--- ext/mro/t/basic_05_c3.t    (/local/perl-current)   (revision 12570)
++++ ext/mro/t/basic_05_c3.t    (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,62 @@
 +#!./perl
 +
 +   '... got the right next::method dispatch path');
 === ext/mro/mro.xs
 ==================================================================
---- ext/mro/mro.xs     (/local/perl-current)   (revision 12508)
-+++ ext/mro/mro.xs     (/local/perl-c3)        (revision 12508)
+--- ext/mro/mro.xs     (/local/perl-current)   (revision 12570)
++++ ext/mro/mro.xs     (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,98 @@
 +/*    mro.xs
 + *
 +        RETVAL
 === ext/mro/Makefile.PL
 ==================================================================
---- ext/mro/Makefile.PL        (/local/perl-current)   (revision 12508)
-+++ ext/mro/Makefile.PL        (/local/perl-c3)        (revision 12508)
+--- ext/mro/Makefile.PL        (/local/perl-current)   (revision 12570)
++++ ext/mro/Makefile.PL        (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,35 @@
 +use ExtUtils::MakeMaker;
 +use Config;
 +}
 === ext/mro/mro.pm
 ==================================================================
---- ext/mro/mro.pm     (/local/perl-current)   (revision 12508)
-+++ ext/mro/mro.pm     (/local/perl-c3)        (revision 12508)
+--- ext/mro/mro.pm     (/local/perl-current)   (revision 12570)
++++ ext/mro/mro.pm     (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,91 @@
 +#      mro.pm
 +#
 +=cut
 === MANIFEST
 ==================================================================
---- MANIFEST   (/local/perl-current)   (revision 12508)
-+++ MANIFEST   (/local/perl-c3)        (revision 12508)
+--- MANIFEST   (/local/perl-current)   (revision 12570)
++++ MANIFEST   (/local/perl-c3)        (revision 12570)
 @@ -893,6 +893,30 @@
  ext/MIME/Base64/t/quoted-print.t      See whether MIME::QuotedPrint works
  ext/MIME/Base64/t/unicode.t   See whether MIME::Base64 works
  ext/NDBM_File/hints/cygwin.pl Hint for NDBM_File for named architecture
  ext/NDBM_File/hints/dec_osf.pl        Hint for NDBM_File for named architecture
  ext/NDBM_File/hints/dynixptx.pl       Hint for NDBM_File for named architecture
-@@ -2792,6 +2816,7 @@
+@@ -2796,6 +2820,7 @@
  mpeix/mpeix_setjmp.c          MPE/iX port
  mpeix/nm                      MPE/iX port
  mpeix/relink                  MPE/iX port
  NetWare/bat/SetCodeWar.bat    NetWare port
 === mro.c
 ==================================================================
---- mro.c      (/local/perl-current)   (revision 12508)
-+++ mro.c      (/local/perl-c3)        (revision 12508)
+--- mro.c      (/local/perl-current)   (revision 12570)
++++ mro.c      (/local/perl-c3)        (revision 12570)
 @@ -0,0 +1,297 @@
 +/*    mro.c
 + *
 + */
 === hv.c
 ==================================================================
---- hv.c       (/local/perl-current)   (revision 12508)
-+++ hv.c       (/local/perl-c3)        (revision 12508)
-@@ -1895,6 +1895,7 @@
+--- hv.c       (/local/perl-current)   (revision 12570)
++++ hv.c       (/local/perl-c3)        (revision 12570)
+@@ -1743,6 +1743,7 @@
+       if (SvOOK(hv)) {
+           HE *entry;
++            struct mro_meta *meta;
+           struct xpvhv_aux *iter = HvAUX(hv);
+           /* If there are weak references to this HV, we need to avoid
+              freeing them up here.  In particular we need to keep the AV
+@@ -1774,6 +1775,13 @@
+           iter->xhv_riter = -1;       /* HvRITER(hv) = -1 */
+           iter->xhv_eiter = NULL;     /* HvEITER(hv) = NULL */
++            if(meta = iter->xhv_mro_meta) {
++                if(meta->mro_linear_dfs) SvREFCNT_dec(meta->mro_linear_dfs);
++                if(meta->mro_linear_c3)  SvREFCNT_dec(meta->mro_linear_c3);
++                Safefree(meta);
++                iter->xhv_mro_meta = NULL;
++            }
++
+           /* There are now no allocated pointers in the aux structure.  */
+           SvFLAGS(hv) &= ~SVf_OOK; /* Goodbye, aux structure.  */
+@@ -1895,6 +1903,7 @@
      iter->xhv_eiter = NULL;   /* HvEITER(hv) = NULL */
      iter->xhv_name = 0;
      iter->xhv_backreferences = 0;
  
 === hv.h
 ==================================================================
---- hv.h       (/local/perl-current)   (revision 12508)
-+++ hv.h       (/local/perl-c3)        (revision 12508)
+--- hv.h       (/local/perl-current)   (revision 12570)
++++ hv.h       (/local/perl-c3)        (revision 12570)
 @@ -38,12 +38,32 @@
  
  /* Subject to change.
  /* This macro may go away without notice.  */
 === mg.c
 ==================================================================
---- mg.c       (/local/perl-current)   (revision 12508)
-+++ mg.c       (/local/perl-c3)        (revision 12508)
+--- mg.c       (/local/perl-current)   (revision 12570)
++++ mg.c       (/local/perl-c3)        (revision 12570)
 @@ -1517,6 +1517,7 @@
      PERL_UNUSED_ARG(sv);
      PERL_UNUSED_ARG(mg);
  
 === intrpvar.h
 ==================================================================
---- intrpvar.h (/local/perl-current)   (revision 12508)
-+++ intrpvar.h (/local/perl-c3)        (revision 12508)
+--- intrpvar.h (/local/perl-current)   (revision 12570)
++++ intrpvar.h (/local/perl-c3)        (revision 12570)
 @@ -558,6 +558,7 @@
  PERLVARI(Iutf8cache, I8, 1)   /* Is the utf8 caching code enabled? */
  #endif
   * (Don't forget to add your variable also to perl_clone()!)
 === sv.c
 ==================================================================
---- sv.c       (/local/perl-current)   (revision 12508)
-+++ sv.c       (/local/perl-c3)        (revision 12508)
+--- sv.c       (/local/perl-current)   (revision 12570)
++++ sv.c       (/local/perl-c3)        (revision 12570)
 @@ -10985,6 +10985,7 @@
      PL_initav         = av_dup_inc(proto_perl->Iinitav, param);
  
      PL_forkprocess    = proto_perl->Iforkprocess;
 === embed.fnc
 ==================================================================
---- embed.fnc  (/local/perl-current)   (revision 12508)
-+++ embed.fnc  (/local/perl-c3)        (revision 12508)
+--- embed.fnc  (/local/perl-current)   (revision 12570)
++++ embed.fnc  (/local/perl-c3)        (revision 12570)
 @@ -278,6 +278,10 @@
  Apmb  |void   |gv_efullname3  |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
  Ap    |void   |gv_efullname4  |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
 Property changes on: 
 ___________________________________________________________________
 Name: svk:merge
- +2679d79f-d018-0410-a353-0f906ad2929c:/local/perl-current:12502
+ +2679d79f-d018-0410-a353-0f906ad2929c:/local/perl-current:12569