B-C
view release on metacpan or search on metacpan
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)
Fixed CvGV_set causing Attempt to free unreferenced scalar in push_begin (42,43)
Fixed -Do (peek ops)
Renamed option -f to -F for files.
Fixed READONLY magic and restricted hashes, issue 98
Support IsCOW xpvshared strings (>=5.18)
Fixed wrong xpvshared logic (5.10-5.17), issue 138
Optimized away 0=default op and gp flags and pointers
Optimized away default sv_refcnt=1 (GV not), and skip redundant bytecodes
Set PadnamelistMAXNAMED(comppad_name) needed since 5.19.3 for eval string (#268)
* ByteLoader (0.10): set sv_refcnt to 1 in newsv to skip most defaults
* Assembler (1.11): allow "newpadlx 0"
* Disassembler (1.12): use B::Concise op_flags and private_flags
* Stash (1.03): fix compilation for 5.8.8 and below: gv_fetchsv missing
* t/perldoc.t: perlcc fails with 5.8 because Cwd disturbs the
fragile method package finder for File::Spec. Use cc_harness.
1.42 2012-02-01 rurban
stable up to 5.14
* C: Improved finding methods in parent classes (Warning: method not found),
Save @ISA of those child classes.
Re-implement and simplify my_share_hek, now in terms of share_hek.
PL_strtab hack gone. This fixed the shared_hek destruction
problems.
Turn off CvDYNFILE needed since 5.15.4, use static CvFILE. (DateTime)
* perlcc: perlcc -stash does not hang anymore, renabled t/e_perlcc.t -stash section
* Stash (1.02): '-xs' does not load B anymore.
Now in seperate directory Stash
* Stash/Stash.xs: new with CvIsXSUB() to get rid of B, polluting the stashes.
* Stash/Makefile.PL: new
* Bytecode (1.13): support shared hek (42,43)
* ByteLoader (0.09), ByteLoader/bytecode.h, bytecode.pl: support shared hek (42,43),
added xpvshared
* t/issue95.t: added, isa methods not found
1.41 2012-01-30 rurban
* t/modules.t: Fixed syntax error
1.40 2012-01-30 rurban
static PerlIO Layers (e.g. __DATA__)
* C: fixed deferred %INC, %INC is now stored and cleaned up at the end.
Improved __DATA__ handle as PerlIO layer, PerlIO::scalar now
loaded static (test 15).
Defer eval section after dl_init (e.g. for PerlIO::scalar) (test 15)
Check for XSLoader now at the very end (test 27)
Fixed MUTABLE_CV for 5.10.0
Improved 5.8 method lifting for not-found methods a bit (5.8. perldoc.t)
* Bytecode: fixed test 22
Cannot locate object method "fileno" via package "IO::File"
* Makefile.PL: readonly $lib fix for MSWin32
* t/testc.sh: silence ulimit -m warnings + errors
List::Util, since it is not in its ISA, only required. need a better scan.
fixes test 44.
init XS within Od.
prevent autoloaded STDERR printing on non-debugging perls (e.g. "Storablelogcarp").
* CC.pm (1.09): support dbmopen, issue 24 failing due to XSLoader (test 45)
no pp_name shortnames in embed.h since 5.13.9, use Perl_pp_name(aTHX).
implemented dorassign, fixes issue 45.
fixed XSLoader detection, moved use_xsloader to save_unused_subs()
skip duplicate cc(pp_sub_*) functions (freebsd 45)
added missing END block code (test 28).
added B::C::verbose on -v
fixed B::C::verbose crash by adding B::FAKEOP::fake_ppaddr.
fixed compile_stats
renamed -n module_name to init_name.
check and set -f options from C also.
implement outline of -m module, name detection missing.
added option -fno-name-magic.
added experimental option -ftype-attr.
added TYPES pod section.
added pod for some funcs: load_pad, cc_queue, label.
option -strict only used with DEBUGGING perls.
be less chatty with compiling bblocks.
light layout cleanup of generated code sections.
added Vishal Bhatia <vishal at deja.com> to AUTHORS.
* Bytecode.pm (1.10): support dbmopen, fixes issue 24.
re-added -m, compile as module to .pmc
store AV elems for non-tied AV->MAGICAL >5.6 (i.e. @ISA, ...) (new test 47).
-DA: limcheck PV.
verbosity: added nice1 (condense elements).
name SV indices also.
* Byteloader: support GvCV_set introduced with 5.13.10 [RT#65630]
* perlcc (2.10): fixed -B -r, -B output and run bytecode.
implement --staticxs to workaround DynaLoader problems. use it in t/modules.t
add sopath to PATH on -r. Without -r the sofile should be symlinked so that the
process can find it.
implement --shared and --static, --shared fails on strawberry due to core problems.
implemented getopts bundling: -ScO -e'bla' -v4 -oa is now possible.
disabled some old single-minus switches: -testsuite, -time, -log, ...
requires now double-minus --testsuite, --time, --log, ...
kept legacy handling only for -Wb=.. and -stash.
fixed -B -e'oneliner'.
fixed -B @ARGV, no duplication of @ARGV, c_argv.t 3.
re-added -m|--sharedlib for Bytecode and C (NYI).
print C and CC filtered compiler output.
-v5 adds -v to the compiler options.
-v6 adds -Dfull to the compiler options.
support -Wb= for -B.
fixed -Br for 5.6: add -MByteLoader.
* Stash (1.01): add option xs to print xs modules with -x prefix.
usable via -MO=Stash also.
new option -D for debugging.
omit PerlIO::Layer.
added pod
* Disassembler (1.08): 5.6: fix ldop comments.
add op_type names, add @svnames, add indices, add ldspecsvx type.
* Assembler (0.10): print more flags (as hex) and indices.
better limcheck diagnostics (op,sv,pv).
* cc_runtime514.h: removed from CORE with 5.13.9. [RT#65628]
If so, cp it back. You might need sudo cp. (unchecked)
Renamed not to pollute tests with older perls.
Expanded PERL_MAGIC_taint 't' for 5.6.
* C.xs: added experimental method_cv for the hash-only case, untested.
* t/modules.t: try --staticxs first, try crosscheck without perlcc.
* t/issue24.t: added.
* t/issue45.t: fixed and added 3 more tests.
* t/e_perlcc.t: added to test the new option handling.
* t/testc.sh, t/TESTS: fixed wrong test 39 for 5.8, added 47, 104 (reset), 105 (type-attr).
* t/testplc.sh: added 47.
* t/stash.t: rewritten. allow 5.6, use Test::More, more stable
* t/todomod.pl: added. interactive tool to check log.modules reports and fix TODOs
* status_upd: recommend and fix ./status_upd -f -q -d
-q -d prints only the actual tests
* Changes: added more missing history ca. 1997-2000.
1.29 2011-01-08 rurban
improve dl_init
* C.pm (1.29):
use DynaLoader::bootstrap_inherit, fixes dl_init when the module has no ISA
DynaLoader. eg. Test::Harness with Time::HiRes
improved CopFILE detection as context for dl_init (test 29)
fix cop_warning cast warnings
print debug messages for beginav and endav
protect against undefined strings, and % in regex
protect against undefined gvcv->GV->EGV (Spiffy)
latefree r-magic regex strings >5.10, fixes a couple of modules
* t/modules.pm: subset use 10 not 11 modules. run tests with -O1
less TODO tests, esp for 5.13
* t/modules.t: fixed binary detection on non-windows (a.out)
* ByteLoader: fixed -Dt for GV
1.28 2010-12-31 rurban
fixed XSLoader, pmflags, CV and most named methods for 5.14
* Bytecode.pm (1.09):
fixed cv_gv and push_begin del_backref problem (27, ...) > 5.13
special cased op_pmflags: U32 needed since 5.13 (PMf_BASE_SHIFT)
Fixes op_pmflags since 5.12 ((3..4,27..29,31,33), esp. pp_subst
start for Windows 5.12 cop_store_label workaround: Labels disabled for now.
Failed to include CORE hv.c: too large.
mingw 5.12 compiles now again and passes all but 21,33,42..44
Fixed entrytry with Bytecode >= 5.12:
ck_eval upgrades the UNOP entertry to a LOGOP, but B gets us just a
B::OP (BASEOP)
add BEGIN { push|unshift @INC } parts of blocks (test 33)
* Byteloader (0.07):
Support new CvSTASH_set.
Basic op_pmflags U16/U32 support. No version conversion yet.
BSET_gv_fetchpvn_flags: new for empty constant prototypes (fails on 64bit only)
* C.pm: add -fno-destruct (with -O3) with a minimal perl_destruct,
(re-enables -fcog >= 5.10),
add -fro-inc (with -O2) readonly INC and curpad strings,
add -fconst-strings (with -O3) const readonly strings
and const more other fixed strings,
do not boot static core packages (utf8, re, ...),
fixed -O2/-fav-init2: store at wrong avchunk index,
initialise CopFILE and CopSTASHPV static with ITHREADS
improved 5.13 method_named package detection (first and pmreplroot),
in endav still failing (Test::Deep)
fixed overwritten CvSTART for 5.13.x
do not cog/const nullify vars in END blocks
( run in 2.329 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )