The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.26 - 2010-07-26

  • Start of 5.14 support, CVs broken.
  • C.pm: improve -fav-init performance if not usemymalloc: no calloc, just direct libc malloc. -O2 uses -fav-init2, i.e. experimental independent_comalloc(), -O1 uses now -fav-init (Nick Koston + Reini Urban) Mark a package which is autoloaded from XS. Fix autoloading of constants AKA const xsubcv via AUTOLOAD [test 27] (Nick Koston) 5.13.3 support (xpv STASH, MAGIC, ... reorganization), but CVs still failing Check CVv_ANON when setting cv->GV. Fixes anon subs. Do not call REGEXP IVX and NVX methods (since 5.11)
  • bytecode.pl: CvGv_set since 5.13.3 Fixed byteorder 0x stripping causing wrong bget_swab on 64bit
  • B::C::Flags: new. added by Makefile.PL probing independent_comalloc()
  • CC.pm: the default -fno-slow-signals adds PERL_ASYNC_CHECK at the same ops as with 5.13, a major improvement.
  • Bytecode.pm (1.07), bytecode.pl: xpvav.xiv_u was removed with 5.13.2 but not used anymore. read and set av_flags only until 5.12, compile only before 5.10 Check CVv_ANON when setting cv->GV. Fixes anon subs
  • bytecode.h: do not PM_SETRE with empty arg. fails since 5.13 debugging
  • t/testc.sh, t/TESTS: fail test 44, change threads tests 41-43 to TODO
  • perlcc (2.07), cc_harness, t/test.pl: debian specific fixes for their broken -lperl linker args for ExtUtils::Embed::ldopts.
  • t/test.pl: Have complete c/cc TODO/SKIP status in one place. Fixed killing hangling tests with IPC::Run. Fixed new cc TODO. Run CC test 18 even not as AUTHOR
  • t/c*.t: make test 27 easier to debug (Nick Koston) Added test 45 (Nick Koston)

Documentation

ByteLoader bytecode versions
Autogenerated data about Perl ops, used to generate bytecode
Introduction to the Perl Compiler-Translator
The Perl op tree
Need help with the perl compiler, emit C or JIT, blabla
Assemble Perl bytecode
generate executables from Perl programs

Modules

Autogenerated data about Perl ops, used to generate bytecode
load byte compiled perl code
Assemble Perl bytecode
Walk basic blocks
Perl compiler's bytecode backend
Perl compiler's C backend
Perl compiler's optimized C translation backend
Disassemble Perl bytecode
Helper module for CC backend
show what stashes are loaded

Provides

in lib/B/C.pm
in lib/B/C.pm
in lib/B/Disassembler.pm
in lib/B/C.pm
in lib/B/CC.pm
in lib/B/CC.pm