The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
RT#81332 revert 744aaba0 bloats the B compilers
For 5.16.1 and 5.16.2

diff -u ext/B/B.pm.orig ext/B/B.pm
--- ext/B/B.pm.orig	2013-01-09 13:06:02.400814216 -0600
+++ ext/B/B.pm	2013-01-09 13:09:57.898447521 -0600
@@ -8,24 +8,15 @@
 package B;
 use strict;
 
+require XSLoader;
 require Exporter;
 @B::ISA = qw(Exporter);
 
 # walkoptree_slow comes from B.pm (you are there),
 # walkoptree comes from B.xs
 
-BEGIN {
-    $B::VERSION = '1.35';
-    @B::EXPORT_OK = ();
-
-    # Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
-    # Want our constants loaded before the compiler meets OPf_KIDS below, as
-    # the combination of having the constant stay a Proxy Constant Subroutine
-    # and its value being inlined saves a little over .5K
-
-    require XSLoader;
-    XSLoader::load();
-}
+$B::VERSION = '1.35_01';
+@B::EXPORT_OK = ();
 
 push @B::EXPORT_OK, (qw(minus_c ppname save_BEGINs
 			class peekop cast_I32 cstring cchar hash threadsv_names
@@ -38,6 +29,9 @@
 			@specialsv_name
 		      ), $] > 5.009 && 'unitcheck_av');
 
+sub OPf_KIDS ();
+use strict;
+
 @B::SV::ISA = 'B::OBJECT';
 @B::NULL::ISA = 'B::SV';
 @B::PV::ISA = 'B::SV';
@@ -332,6 +326,8 @@
     }
 }
 
+XSLoader::load();
+
 1;
 
 __END__