B-C

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	* 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)
	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

Changes  view on Meta::CPAN

	Fixed wrong stash names in gv_stashpv analog to gv_fetchpv
	  (Text-Tabs+Wrap t/dandv.t)
	* t/testm.sh: implement -s without log file
	* t/modules.pm: export skip_modules, silence module scanning STDERR

1.23	2010-02-14 rurban
	* t/testm.sh: chmod +x
	* t/modules.t: fix $have_IPC_Run

1.22	2010-02-14 rurban
	Tested with ActivePerl 5.10.0

	* bytecode.h: unshare_hek exception for WIN32, not only MINGW
	* t/modules.t: Added list of to be skipped modules, which cycle endlessly.
	Improve todo message.
	* t/testm.sh: add option -s "install skipped modules"
	* Makefile.PL, cc_harness, perlcc: fix ldflags for ActivePerl 5.10.0
	  for MSVC6 (ccversion 12) -opt:ref,icf leads to invalid outfile "pt:ref,icf"
	* c+cc test 29 fails on 5.10 randomly. Make it a TODO

1.21	2010-02-14 rurban
	* C.pm: Add missing Nullop for CC on 5.11.4 (cc 12).
	Test 38 passes

1.20	2010-02-14 rurban
	* C.pm: #define PERL_CORE broke Null macros on 5.11.4. Define those.

1.19	2010-02-13 rurban
	Almost fixed evaltry (12) with proper cop_seq setup, just solaris and debian
	fail sometimes. Tested ok with strawberry 5.10.1

	* C.pm: fixed evaltry (test 12) mostly, NVX was shared with 2 xpad_cop_seq ints
	  which accidently just worked before 1.17 with %s, but not after changing
	  to the %g representation.
	Ignore unused random (overlong) xpviv IV, causing
	  "warning: this decimal constant is unsigned only in ISO C90"
	Defer rv => cv to run-time < 5.10. Fixes ExtUtils::Install
	Defer xpvmg->pv init to run-time < 5.10. Fixes MooseX::Types
	Check for NV inf. Fixes compilation of DateTime
	Defined PERL_CORE: Fxied Windows problems with setjmp undef'ed in XSUB.h
	Added Win32 workaround for missing PL_do_undump
	Stripped perl_ prefix from perl_get_cv, perl_call_pv, perl_call_method
	* CC.pm (1.07): added -fslow-signals.
	Disabled inlined pp_enter: Fails on empty cxstack.
	Backed out inlining of enterloop: GIMME_V fails on freebsd7
	Remove strawberry PerlProc_setjmp definition, #define PERL_CORE fixed that
	* Bytecode.pm (1.06): same NVX => xpad_cop_seq fix as in C.pm, added 2 new
	  bytecodes (cop_seq_low, cop_seq_high), fixed tests 9,10,12. Passes
	  all tests > 5.6 now.
	* bytecode.pl: added cop_seq_low (155), cop_seq_high (156) instead of xnv.
	  No conversion code for loading older bytecode needed, but fragile (double => 2 int)
	* t/modules.t: refactored by Todd Rinaldo (toddr). 4*tests per module:
	  -s a, exitcode 0, ok, no warnings on stderr
	* t/TESTS: added 38, failing on CC (Nick Koston).
	added 39, failing everywhere.
	* t/test.pl: refactor: Try to timeout on all tests (compiler and exec) if
	  IPC::Run is installed
	* MANIFEST, *.pod: Moved conference pods to ramblings,
	removed lib/B/Asmdata.pm again, added t/qr_loaded_module.pm
	* t/testm.sh, t/modules.pm: added, -t not working yet though
	* t/b.t: $[ => $]

1.18	2010-02-06 rurban
	evaltry (test 12) still broken on most systems.

	* C.pm, C.xs: fixed r-magic for 5.6 (ExtUtils::Install,
	  File::Temp, Template::Stash). need tests for run-time checks (33).
	  5.6 misses MG->pregcomp
	* t/modules.t: check for a.out (test from toddr)
	* Makefile.PL: create lib/B/Asmdata.pm beforehand (toddr)
	* ByteLoader: fixed duplicate + missing bl_header for bsd and Darwin
	  (test from toddr)
	* test 37 added - AV self-refs, analog to HVs (never failed, just to
	  be sure).
	Removed -qq from 5.6 tests.

1.17	2010-02-03 rurban
	Fixed now most module failures, non-threaded at least: bootstrap was in
	the way. strawberry perl fixes. Fixed test 29, broke evaltry test 12

	* C.pm: Added option -Dfull for all full debugging info, set all options.
	Skip saving XS bootstrap. Fixes most XS module failures. i.e.
	  Digest::MD5, Data::Dumper, ..
	  Fail: Attribute::Handlers, B::Hooks::EndOfScope, YAML, MooseX::Types
	  4 for 5.8.9-nt from the top100, and 3 for 5.11.4-nt: Attribute::Handlers,
	  File::Temp, ExtUtils::Install.
	Fixed AV self-references causing endless loops, analog to HVs (test 27)
	Fixed Getopt::Long crash with AV D magic (regdata),
	  save_magic returns now the magic types as string.
	Fixed unescaped savere (test ExtUtils::Install).
	Fixed GvSTASH "initializer element is not constant" (Test::Harness)
	Fixed xrv_list "initializer element is not constant" (Class::MOP < 5.10)
	* CC.pm (1.06): Added missing unexported definitions for MSWin32,
	  >=5.10: newGP, vivify_ref, prepare_SV_for_RV (tests 18, 29).
	  PerlProc_setjmp, PerlProc_longjmp (tests 12, 32).
	Fixed cxinc for 5.11.0
	* t/bytecode.t: mixed up 32 with 33.
	* t/modules.t, t/top100: new module test, see also the log.modules*
	  results in the svn repo.
	* t/mymodules: added as reference, executed optionally.
	* script/cc_harness: ldopts -std if no -B<opt>

1.16	2010-01-27 rurban
	use Moose and benchmark still fails. IO even a regression.

	* C.pm: Fixed braces warning for empty xpvcv startfield (Nullany),
	register int for warn_sv loop
	Fixed hv init for magic hashes, pre-allocate array and xpvhv_aux. (test 34)
	Fixed method_named (CPAN #53889, test 35) for B::C, better fix than for B::CC.
	Added -DH for HV debuggging.
	Fixed HV self-references causing endless loops, i.e. with use Moose, test 36.
	* CC.pm (1.05): added experimental -finline-ops. Always on. Can be removed if
	  it works okay for the new inlined versions.
	Inlined pp_enter, pp_reset, pp_regcreset, pp_stringify.
	Fixed pp_padsv DEREF for 5.10.
	Documented test coverage for each op.
	Fixed wrong $PERL511 definition.
	Added Opcodes support (no_stack), on CPAN as 0.01.
	  added pp_pushmark pp_break pp_continue to no_stack handling.
	Fixed method_named (CPAN #53889, test 35) assuming there is only const
	  before method_named. No counter examples found so far.



( run in 1.719 second using v1.01-cache-2.11-cpan-13bb782fe5a )