B-C

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        Fix for shared xpviv with 5.24. This asserts now if unshared.
        * perlcc/cc_harness/TestBC: many more PERL_CORE fixes, to workaround
          broken ExtUtils::Embed::ldopts
        * tests: skip perlcc with -m32 cross and PERL_CORE. Can only work reliable
          on individual CPAN setups, but not with CORE smoking. Blame Configure
        Replace test.pl with TestBC.pm. Blame core harness

1.54 2016-02-26 rurban
        cperl fixes and 5.22 memory improvements. cperl now also supported,
        even included CORE, but ByteLoader still broken.

        * C: Fix defined for RV since 5.20 and ithreads (#354)
        Fix anon functions in INIT block (#352) (atoomic)
          and more const CV fixes.
        Fix C.xs for old non-c99 compilers. i.e. msvc6
        Fix segfault from PVMG (#348) (atoomic), regression added
          for match once
        Fix stack corruption in HV::ENAMES (#351)
        Fix SEGV with empty get_cv(), esp. from non-XS functions (#358)
        Fixed 5.22 padname length limitation of max 60. Also using less memory. (#361)
        New -O2 option -fcow since 5.20 to cow most static strings with ~6%
          memory savings (#361)
        Support cperl5.22.2 with AvSTATIC and AvIsCOW. ~6% less memory. (#361)
        Support cperl5.22.2 with HEK_STATIC. ~6% less memory. (#361)
        cperl fixes for DynaLoader, XSLoader improvements (#363), -O3 destruction.
        * B::C::Flags: renamed to B::C::Config
        * bytecode.pl: support cperl bootstrapping with miniperl in CORE
        * Asmdata (1.04): with cperl in CORE @optype @specialsv_name are defined here
          also. Cannot load B with miniperl.

1.53 2015-12-06 rurban
        added 5.22 support, some cperl optimizations and fixed most remaining 5.14 issues.
        Bytecode broken upstream with 5.22.0

        * Bytecode (1.17): removed lastsib bit for 5.21.2-5.21.10, support only moresib op
        Add ops for padl, padn, padnl, unop_aux and methop needed for 5.22
        ByteLoader was broken upstream with 5.22. You need to build a perl with
        `perlall build --patches-Compiler 5.22.0` or use cperl5.22.2.
        Added a probe, set $B::C::Flags::have_byteloader
        * Disassembler (1.13), Assembler (1.13): support PADNAME and PADNAMELIST for 5.22
        * C: fix B::PMOP::precomp for UTF8 (#333, #338, GH#50)
        Add 5.22 support with a new unop_aux (multideref) section, methop support,
          new support for PADNAME and PADNAMELIST objects.
        Fix upstream B::UNOP_AUX::aux_list bug with threads. Use our own method which
          returns the PADOFFSET, not the SV. (#341)
        Removed B::Section which used base. (toddr)
        Re-add PL_sv_objcount on cperl
        Fixed XSUB CONSTSUB alias (44,45,... PR #228) (atoomic)
          and anonymous CVs for 5.22 (#246, #305)
        Proper utf8 support for gv_fetchpv, gv_stashpv and cv_get,
          cache gv_stashpv calls.
        Fix 5.22 for empty hash keys, share_hek("") (272, GH#249)
        Fixed refcounts for shared hek's, fixing the notorious unshare_hek assertions
          since 5.10 (GH #251, #255). See 1.06: "Had to disable -O1 -fcog (pv_copy_on_grow)
          on 5.10 and higher until I find out how to fool S_unshare_hek_or_pvn. This fixes
          all C -O1 and -O2 tests. Warn about this."
        Fix Inf/NaN support for C (GH#287)
        Fix handling of READONLY hashes in 5.22, i.e. use feature (GH#250)
        Support custom op Devel_Peek_Dump, added with 5.20 (GH#274)
        Defer regex compilation to new init1 for SWASHNEW (GH#273)
        Support unicode labels (upstream B bug) (GH#318)
        Skip unneeded init-time lexwarn checks,
          support optimized cperl PERL_SUPPORT_STATIC_COP (cperl #70)
        Fixed overload stringify broken since 5.18 (GH #219)
          by adding a mro_isa_changed_in() to the overloaded stash.
        Support multiple stash ENAMES, needed since 5.14 (GH #331)
          This fixed many old 5.14 limitations. (Added to our version of B)
        Support %^H, storing the hints_hash (features, pragmas) (GH#220)
          This fixed many old 5.14 limitations.
        Improve MATCH once (m??) handling with reset, find PMOP from
          the Regexp dynamically (GH#252)
        Bump refcounts of dynamic get_cv refs (#293). Fixes Coro in global destruction.
        Skip more XS defined POSIX constants: all that start with 'M' (GH#335, #345)
        One more "Eval-group not allowed at runtime" fix (GH#137, GH#346)
        * CC (1.16_01): Encode unicode labels (GH#318)
        * Stackobj (1.12_01): fix Inf/NaN support for CC (GH#287)
        * t/CORE: versioned the core tests and moved to a external submodule
          perl11/p5-coretests on github. (GH#332)

1.52 2014-09-09 rurban
        * C: Protect against empty SV ptr in SV magic (\0) with $` with 5.20 (#370)
        Save new pmop (?{}) code_list with 5.18 (#372)
	Unset PL_use_safe_putenv as in perlmain, which initializes PL_origalen properly,
	  which fixes setting long a $0 string (#194)
        Force Moose when only Class::MOP is loaded to give the needed path hint to XSLoader,
          when "Assuming xs loaded $stashname".
        * t/test.pl: print @cmd with TEST_VERBOSE

1.51 2014-08-04 rurban
        * C: boot_EV (analog to Coro) SvREADONLY_off its XS symbols (#368)

1.50 2014-07-23 rurban
        * C: fix DBI, special case DBI_MAGIC, call DBI->_install_method to
          re-initialize compile-time internal ima pointers (#359)
        Skip saving %IO::Handle for *STDOUT, which bloated 5.18 (#361)
        Fix XS boot of Class::MOP without Moose, and generalize it to other
          xs-loaded modules, which just call bootstrap Module. (#350, #364)
        Earlier xs_init for Encode similar to attributes (hack, fixes #32 regression)
        Use the system malloc for data being system free'd: cop_warnings,
          PMOP->op_pv, sv_debug_file, needed for certain DEBUGGING options.
          Fixes Attribute::Handler free errors (#362)
        Strip binary BM chunk from comppad names < 5.8.8 (#363)
        Save some CvXSUBANY values, esp. relocate any_ptr if possible:
          POSIX::is*, DBI, List::MoreUtils::*_iterator.
          The any_i32 values are already set in the boot section of the XS.
        Fixed initialization of foreign Encodings (#365),
          fixed initialization of old Encode versions < 2.58 also (#305)
        * CC (1.16): Strip binary BM chunk from comppad names (CC names) < 5.8.8 (#363)
        * perlcc (2.20): Strip wrong version-less -I<site_perl> (#366)
        * Makefile.PL: Install into archlib on 5.8 and 5.6 (#358)

1.49 2014-07-12 rurban
        * C: Changed IO::Socket::SSL warning to recommend >= 1.995.
          1.996 even has some perlcc specific usage documentation (#317)
        Fix PerlIO::scalar XS bootstrap forced by __DATA__ (#360)
          We sometimes missed it

1.48 2014-07-11 rurban
        Fixed C walker and 5.18-5.20 Bytecode.
        This is the major version which cPanel will use for 5.14.4. With the next
        versions we'll start working on -m and buildcc, to split packages into shared libs.
        And use B::CC and/or rperl compiled modules selectively.

        * C: Make revised -fwalkall the default. Fixes missing dumped method-only packages (#348)
        Always save all user-loaded packages. Skip only compiler-loaded packages if
          not used by user code. The compiler loads and dumps now additionally only the
          heavy parts for utf8 and bytes, and utf8 for m///i, and AnyDBM for dbmopen,
          PerlIO::Scalar for __DATA__ handles, and Coro::State::_jit if required, but
          nothing else.
        Fix for missing RTLD_NOLOAD on BSD, needed for run-time remap of compile-time
          XS symbols via dlsym (#351)
        Special-case XS loading of Moose.xs from Class::MOP (#350)
        Better fix for mult. match once by checking OP_MATCH with ONCE flags in C.xs also (#274)
          but there are still some platforms without pmop->op_pmregexp in the C.xs detection runloop
        Add op_lastsib bit for 5.21.2

Changes  view on Meta::CPAN

	* CC (1.15): Skip saving non-existing methods analog to B::C 1.43_06 (CC test 50)
	Fix failing CopFILE_free and CopSTASH_free in END blocks with threads (#296, CC test 48)
	Handle duplicate function names, like multiple END blocks or anon functions (#297)
        Replace each %hash with foreach sort keys (#307)
        * Bytecode (1.15): Replace each %hash with foreach keys (#307)
	* Bblock (1.04): Do not pollute B::CC (find_leaders) with B::Concise

1.45	2014-02-11 rurban
	* t/issue281.t: fix wrong test ($[ vs $])

1.44	2014-02-10 rurban
	added adjusted CORE testsuite for 5.14. passes for 5.14.4-nt, not for 5.18.2-nt
	(cPanel code_monkeys)
	still missing in general are:
	  - global destruction (use lexicals!),
	  - attribute handlers,
	  - compile-time perlio layers

	* C: Fix -O3 with ~ and ~~ formatstrings (#277)
	Fix SvLEN and PV ptr for empty shared hash keys (#272)
	Use the natural @dl_modules boot order, just put attributes to the front (#259)
	Store cop_hints to support lexical numeric hints pragmas,
	  esp. use bytes and use open attributes
	  (fixes #81 #152 #174 #176 #180 #185 #224 #235 #238 #241 #245 #253 #255 #256 #277)
	Skip saving defined(&cv) subs (#96)
	Fix format STDOUT/STDERR (#238, #239, #277, #284, #285, #283)
	Save now empty bodyless subs if they exist, for signal handlers,
	  prototypes declarations and cvrefs (#251, #159, #235, #246, #270, #271, #275, #279)
	Fix PVMG PV overwriting the RV, overload sub (#273)
	* CC (1.14): Skip saving non-existing methods analog to B::C 1.43_06 (CC test 50)
	* perlcc (2.17): Accept -A for -DALLOW_PERL_OPTIONS
	* t/testc.sh: Accept -A for -DALLOW_PERL_OPTIONS

1.43	2014-01-15 rurban
	new 5.16, and partial 5.18, 5.20 and windows support.
	Many more fixes and testcases.
	Bytecode is still broken on 5.18, esp non-threaded. 5.20 looks pretty good though.

	* C: Fix -u<module> without file extension.
	With hek do not drop FAKE, only for const pv.
	Fixed $$ ($PID) to be dynamic, issue 108. Thanks to flexvault for reporting this.
	Fixed double precision to 16 digits. The nbody shootout test passes now.
	Fixed refcounts of *ENV, issue 111.
	Fixed wrong boot_ arg for the xs version check with --staticxs
	Better fix for overwriting of @ARGV <O3, test c_argv:1 and c_allow_opts.t:1
	Fixed refinition warnings of XS CONSTSUB. Ignore them as they are
	  loaded later.
	Add $dlmodule::VERSION as 2nd arg to boot_$dlmodule resp. $dlmodule::bootstrap
	  to get rid of the pesky Invalid version format error in xs_version_bootcheck
	  if the $VERSION had already version magic attached. (no testcase, hard to repro)
	perl 5.16.0 shipped a slightly broken B without cop_stashlen. As workaround
	  we do not support utf8 stashes nor null bytes in stashes on 5.16.0 threaded.
	Fixed Null COP storage for 5.16 and 5.17
	Fix amagic_generation which was removed with 5.17
	Fix ALLOW_PERL_OPTIONS: add -e behind all processed options, not before
	Fixed HvAUX init. Previously only with magic hashes, now on all OOK hashes (OOK+SHAREKEYS)
	  e.g. %warning::Bits
	Added support for new PADLIST type since 5.17.4 (with xpadl_id) and 5.17.6 (without)
	$^X returns now the real executable name, not just perl or perl.exe
	Adjust COW string lengths to hold the COW_REFCNT byte at the end
	Fix unicode string CUR and LEN (#142, #162)
	Fix unicode hashkeys (HEK) mostly (#200), but not yet testc.sh 2001 (compile-time
	  stored utf8 heks)
	Save HvTOTALKEYS at run-time as max added to the number of run-time added keys (#178)
	Fix UV uvuformat on 32bit -Duse64bitint (#145)
	op_pmreplstart is now run-time initialized >= 5.10 (#160)
	Fixed special usage of magic vars @-,@+,%+,$-,$! (#90)
	Fixed wrong REGEXP length for compiled QR data (#143)
	Fixed wrong -O3 comparison of strings to numbers (#138,#141, branch new-cog), unified
	  PV handling, disabled -fcog replaced by -O3 -fconst-strings
	Fixed NUL-byte handling in strings by using B::SV->PV instead of PVX (#237)
	Storing now bareword filehandles (#148,#149)
	Do not create GvGP at all. This also removes the need for newGP() (Windows/AIX)
	use Config does not include B anymore, Internals::V now in __ANON__ package
	Fixed handling of empty - not successfully autoloaded - CVs (#235, #159, ...)
	  by storing the SV and XPVCV but ignoring it and defer to run-time get_cv()
	Unify handling of static and dynamic strings, use ptr_undef throughout instead
	  of NULL vs &PL_sv_undef (save_pv_or_rv => savesym, cur, len, pv, static)
	Restore $^H, the numeric value of global warnings flags (#193,#207,#243)
	Restore more missing globals: ${^UNICODE} ${^UTF8LOCALE} $; $\ $, $/ $" $|
	  $^A $^L $: $^H $^R $% $- $= if set in a BEGIN block or via cmdline (#256,#231)
	Restore even deprecated vars $] $# $* (#171)
	Fix HvAUX memory corruption, accessing HvAUX beyond HE fields, esp. with threaded perls.
	  Initialize now HvAUX backref and mro_meta fields.
	Do not boot internal core XS packages twice, refer to internal XS functions dynamically
	  and do not link to them. Fixes fix Windows/AIX with strict linking.
	Defer dynaloaded GvCV initialization after dl_init()
	Fixed storage of non-special lexical warnings (#258 warnsize-i258)
	Fixed storage of shared heks, support IsCOW_hek (i.e. method names)
	Support new ReANY since 5.17.6 (#258 reg_temp_copy)
	Support stash symtab magic for PMf_ONCE m?? and reset (#188)
	Fixed POSIX overflow constants warnings for DBL_MAX,DBL_MIN,LONG_MIN,LONG_MAX (#262)
	Support user-defined static_ext modules, which are already booted from core.
	Add more DynaLoader::dl_debug output (set PERL_DL_DEBUG=1)
	Enforce -ffold on an ucfirst op or $INC{'unicore/To/Title.pl'} (#242)
	Mark empty but overloaded packages (#172). This is merely workaround for reduced testcases.
	Set PadnamelistMAXNAMED(comppad_name) needed since 5.19.3 for eval string (#268)
	Add new option -fno-delete-pkg to control if to ignore compiler-only dependent packages,
	  compiler-independent packages are now always saved. Save those package names at Makefile.PL
	  in @B::C::Flags::deps.

	* perlcc (2.14): new option --dryrun, -v5 does not -Dsp,-v
	 new option -f passthru to C and CC
	* perlcc (2.15): fixed default --spawn: use waitpid which was broken for parallel builds.
	fixed warning Prototype mismatch: sub main::gettimeofday: none vs () at perlcc line 261
	improved --version
	added --perlopts to handle -DALLOW_PERL_OPTIONS
	* perlcc (2.16): changed output name rules:
	Without given output file name we use the name of the input file (in the subdir)
	or with -e a.out resp. a.exe and a randomized intermediate C filename.
	If the input file is an absolute path on non-windows systems use the basename.
	* CC (1.13): Use the B::C integer and double precision logic (ivx, nvx).
	Fixed double precision to 16 digits. The nbody shootout is now 2x faster than perl.
	Added optimizations: -fno-magic, -fno-autovivify, -faelem
	Detect "no autovivification;" pragma.
	New -fno-taint, -fomit_taint is deprecated
	Fix amagic_generation which was removed with 5.17
	Use new perl6 type names: int, num, str. double and string are deprecated.
	* Bytecode (1.14): fixed require and op_first, issue 97
	Fixed regex_pad offset in threaded perls >= 5.11, issue 68.
	New type B::PAD isa B::AV (PADLIST for 5.17.5),
	New bytecodes newpadlx, padl_name, padl_sym (PADLIST for 5.17.5)



( run in 0.742 second using v1.01-cache-2.11-cpan-39bf76dae61 )