On Sun, Feb 13, 2011 at 01:15:33PM -0800, Father Chrysostomos via RT wrote: > On Mon Dec 27 01:52:01 2010, rurban wrote: > > This is a bug report for perl from rurban@cpan.org, > > generated with the help of perlbug 1.39 running under perl 5.10.1. > > > > > > ----------------------------------------------------------------- > > 744aaba059 moved the B bootstrap'ing from INIT to BEGIN, which is a > > big > > problem in all B compilers, since any compiler does not know if a B > > constant is needed inside the users code or just imported by using the > > compiler. > > E.g. every compiled .plc bytecode file is now 13K bigger, > > all B constants are imported now. Similar for the other compilers. > > > > The only reason of the move was to avoid to stub B::OPf_KIDS. > > Please revert. > > Does anyone see any reason I should not revert this? I don't doubt that they are bigger, but I'm curious about why the ordering of the loading *does* make the difference. I don't believe that the diagnosis in the bug report is completely correct because the change *doesn't* move the laoding from INIT time. (It does move it to BEGIN). Module body code runs immediately at require time, which is much earlier than INIT. Nicholas ClarkThread Previous | Thread Next