Remove binary compatibility scaffolding for the change to PL_bitcount.
Nicholas Clark [Wed, 20 May 2009 09:32:25 +0000 (11:32 +0200)]
embed.pl
embedvar.h
intrpvar.h
perl.c
perl.h
perlapi.h
sv.c

index 0287c85..50da232 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -696,7 +696,6 @@ print $em do_not_edit ("embedvar.h"), <<'END';
 END
 
 for $sym (sort keys %intrp) {
-    next if $sym eq 'bitcount';
     print $em multon($sym,'I','vTHX->');
 }
 
index 7b20505..4639c85 100644 (file)
 #define PL_Ibasetime           PL_basetime
 #define PL_Ibeginav            PL_beginav
 #define PL_Ibeginav_save       PL_beginav_save
-#define PL_Ibitcount           PL_bitcount
 #define PL_Ibody_arenas                PL_body_arenas
 #define PL_Ibody_roots         PL_body_roots
 #define PL_Ibodytarget         PL_bodytarget
index 487576a..3265ac2 100644 (file)
@@ -533,16 +533,6 @@ PERLVARI(Iglob_index,      int,    0)
 
 PERLVAR(Iparser,       yy_parser *)    /* current parser state */
 
-#ifdef MULTIPLICITY
-/* For binary compatibility, keep the interpreter structure the same.
-   However, we no longer use this entry.  */
-PERLVAR(Ibitcount,     char *)
-#else
-/* For binary compatibility, need to retain an extern char *PL_bitcount.
-   So make it point to the compile time generated array.  */
-PERLVARI(Ibitcount,    char *, (char *)PL_bitcount_array)
-#endif
-
 /* Array of signal handlers, indexed by signal number, through which the C
    signal handler dispatches.  */
 PERLVAR(Ipsig_ptr, SV**)
diff --git a/perl.c b/perl.c
index 2c7a4c1..fa7a5e1 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1232,10 +1232,6 @@ perl_destruct(pTHXx)
     PL_psig_ptr = (SV**)NULL;
     Safefree(PL_psig_name);
     PL_psig_name = (SV**)NULL;
-#ifdef MULTIPLICITY
-    Safefree(my_perl->Ibitcount);
-    my_perl->Ibitcount = NULL;
-#endif
     Safefree(PL_psig_pend);
     PL_psig_pend = (int*)NULL;
     PL_formfeed = NULL;
diff --git a/perl.h b/perl.h
index 66459b4..4f4130e 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -4240,29 +4240,14 @@ EXTCONST char PL_uuemap[65]
 EXTCONST char PL_uudmap[256] =
 #include "uudmap.h"
 ;
-#  ifdef MULTIPLICITY
-/* There's no binary compatibility issue with adding a new global PL_bitcount,
-   because before this change, under MULTIPLICITY the pre-processor would have
-   been replacing the token PL_bitcount with an expression to access the
-   interpreter struct.  */
 EXTCONST char PL_bitcount[256] =
-#  else
-/* For binary compatibility, we can't replace the existing pointer PL_bitcount
-   with an array PL_bitcount.  So keep the existing variable, but make it point
-   to our compile-time generated array instead.  */
-EXTCONST char PL_bitcount_array[256] =
-#  endif
 #  include "bitcount.h"
 ;
 EXTCONST char* const PL_sig_name[] = { SIG_NAME };
 EXTCONST int         PL_sig_num[]  = { SIG_NUM };
 #else
 EXTCONST char PL_uudmap[256];
-#  ifdef MULTIPLICITY
 EXTCONST char PL_bitcount[256];
-#  else
-EXTCONST char PL_bitcount_array[256];
-#  endif
 EXTCONST char* const PL_sig_name[];
 EXTCONST int         PL_sig_num[];
 #endif
index 9b4feb7..27be4a2 100644 (file)
--- a/perlapi.h
+++ b/perlapi.h
@@ -178,8 +178,6 @@ END_EXTERN_C
 #define PL_beginav             (*Perl_Ibeginav_ptr(aTHX))
 #undef  PL_beginav_save
 #define PL_beginav_save                (*Perl_Ibeginav_save_ptr(aTHX))
-#undef  PL_bitcount
-#define PL_bitcount            (*Perl_Ibitcount_ptr(aTHX))
 #undef  PL_body_arenas
 #define PL_body_arenas         (*Perl_Ibody_arenas_ptr(aTHX))
 #undef  PL_body_roots
diff --git a/sv.c b/sv.c
index 5ba9ba2..aab9fa0 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -12176,7 +12176,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
 
     PL_glob_index      = proto_perl->Iglob_index;
     PL_srand_called    = proto_perl->Isrand_called;
-    my_perl->Ibitcount = NULL; /* no longer used */
 
     if (proto_perl->Ipsig_pend) {
        Newxz(PL_psig_pend, SIG_SIZE, int);