B-C

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        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
        Changed IO::Socket::SSL warning as our patch was rejected upstream.
          Need to maintain now a fork cPanel::IO::Socket::SSL to be able to use compiled
          IO::Socket::SSL servers. (#317)
        * Stackobj (1.12): Harmonize RV checks (fixes cc 105 -O1 and -O2)
        * Bytecode (1.16): Replace each %hash with foreach keys in walksymtable also (#307)
        Do not store main_cv->START, empty optree since 5.18
        Add op_lastsib for 5.21.2, but sort still broken with PERL_OP_PARENT
        * Assembler (1.12): error if a PUT method misses an argument
        * perlcc (2.19): -B produces again -H bytecode, runnable without -MByteLoader.
        Fix default output name from a.outexe to a.exe on a windows-based OS.
        * Makefile.PL: fix installation of cc_runtime.h for B::CC

1.47 2014-06-11 rurban
        Fixed Bytecode for 5.18. Fully support 5.18 and 5.20 now.
        Greatly reduce code size for C and esp. CC, by including less unneeded dependencies.

	* C: detect new Encode >2.58 compile-time usage (#305, RT #94221)
        Fix mro maybe::next:: detection (#326)
        Fix %INC cleanup logic. Delete packages from %INC only if they were really not saved,
          and add packages to %INC which were saved and not just marked for saving. (#340)
          Fix lot of skip package logic and consistency parts. Much less packages are now saved
          in general which leads to smaller and faster code.
          Avoid compile-time compiler internal reloads and redefinitions.
        Special-case %warning::Bits on -O3 to not SEGV when changing warnings on run-time loads
          on compile-time saved -fconst-string warnings.
        Add experimental -fwalkall to add all wanted packages recursively with maxdepth 3.
          No tests yet.
        Add time and version on top of C source code. Also for CC.
        Fix lexical subs for threaded perls (#130, #341)
        Add special fixes for Coro: reload Coro jit and SvREADONLY_off some of its XS symbols (#293)
        Fix "Eval-group not allowed at runtime" errors since 5.18 (#137),
          by settting HINT_RE_EVAL for re-eval groups when compiling the QR
        Fix for readonly magic hashes, usually found since 5.20 (#273)
        Fix Can't locate object method "bootstrap_inherit" via package "DynaLoader" (#125)
          again, as the improved walker now strips DynaLoader from simple one-liners like
          'use Clone' and the DynaLoader detection was too late. Do it now earlier.
	* ByteLoader (0.11): fixed filter -H problem with 5.18 (#339)
          Disabling the PerlIO_binmode(PL_RSFP, IoTYPE_RDONLY, O_BINARY, 0); hack for [perl #86186]
          "Changing filters to be textmode, not binary" fixed the Bytecode problems since 5.18
	* perlcc (2.18): Avoid -H for bytecode > 5.18
	New --check option
	* t/asmdata.t: signicant enhancements
        * t/CORE: add mro and re core tests, only mro/isarev.t is unstable, and several re-eval
          tests using variables are skipped and unsupported.

1.46 2014-05-14 rurban
	Added global destruction, improved -O4 and CC, fixed mro, @-, $/ $\, Net::DNS, ...
        Added mro and re core testsuite.

	* C: reset PL_stack_sp on init (was one too far). no effects on code.
	Implement global destruction via sv_clean_objs and my_curse on -O3, resp.
	  prepend static svs PL_sv_arenaroot for sv_clean_objs with a fake sv_list[0].
	  (#197, #208, #254, #280)
	Call DESTROY methods for all our global static SVs (i.e. "global destruction"),
	  fixes #197, #280, #282
	Increment GV->FORM refcounts as they cannot be destructed, analog to CV
	Call PL_exitlist functions with -O3
	Make the lexical cop_warnings pointer dynamic, because on cv_undef (scope exit,
	  assign, exit, die, ...) CvROOT and all its kids are freed, ignoring op_latefreed.
	  The content of the warning is still a static string - and leaks on perl, but
	  we don't care.
	-fwarn-sv is now always set, just not with MSVC on Windows. The warnings are then
	  directly set, not in a tight loop afterwards, because the value is needed for
	  the dynamic init.
        Fixed lexical warnings on 5.8 (pWARN_STD .. pWARN_NONE)
	Improve -O4 by keeping all CvSTART cops
	Keep internal packages if used in the source code, e.g. mro (#300)
	Fix the order of PerlIO_cleanup, after global destruction (#302, #303)
	Since 5.18 padlists are now all dynamic, due to undef issues in non-local exits (#304)
	Add -fno-dyn-padlist to -O4 to keep static padlists on 5.18.
	  Dynamic padlists are needed to prevent from cv_undef crashes on static padlists
	  when cleaning up the stack on non-local exits, like die or exit or subs on the
	  compile stack as with Attribute::Handler (#169, #304). Previously only END block
	  function padlists were dynamic (#298).
	Add run-time remap of compile-time XS symbols via dlsym (#305, RT #94069)
	  Net::DNS includes Encode::XS ascii_encoding, but also init the 3 other encoding ptrs.
          Add a fast path for d_dlopen + i_dlfcn systems (i.e. Windows goes the slow init2 route)
	Detect new Encode-2.58 which stores encodings better to handle proper
          compile-time usage (#305, RT #94221)
	Add special SV associations for $/, $@ and $\ (#306, #256)
	Save @ISA for all included packages, esp. DynaLoader dependencies (#308)
        Replace each %hash with foreach sort keys (#307)
	Set ${^GLOBAL_PHASE} with -O3 for END and DESTRUCT (#197, #208)
	Do not store invalid GvCV symbols, only cv or &sv_list entries (#313)
	Support GvFORM pseudo CVs (B::FM objects) on 5.10 (#149)
	Support local $/ = "somestring" (only used empty values before) (#314),
          A regression from 1.43
	Support local $\ = "somestring" (#318), also a regression from 1.43
	Fix special 5.6. associations for $, $\ as they are no SVs there (#306)
        Fix wrong caching of internal LEXWARN symbols (#322)
        Warn on bad IO::Socket::SSL versions 1.956-1.983 which would SEGV if used as server (#317)
        Support __DATA__ blocks in packages without printing wrong warnings (#310)
	Support ->(maybe|next)::(method|can) mro method calls (#324, #301)
	Support mro c3 (#316)
	Support @- @LAST_MATCH_START, the array of the last submatches (#281, #220, #295)
	Workaround a 5.18 de-optimization which disabled ++PL_sv_objcount on bless
	  by adding it if a DESTROY method exists. This will fail since 5.18 if DESTROY
	  is added at run-time. (#208, #197)
        Add new init0 section to initialize -fppaddr ops before init, not afterwards. (#330)
          Needed to call utf8::SWASHINIT at init with CALLREGCOMP and /i
        Avoid duplicate PL_utf8_tofold ToCf swash initialization with 5.18 (#330)
	* 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)



( run in 2.407 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )