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

Changes for version 1.48 - 2014-07-11

  • 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

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
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
Autogenerated data about Perl ops, used to generate bytecode
load byte compiled perl code
show what stashes are loaded
Assemble Perl bytecode
Walk basic blocks
Perl compiler's bytecode backend
Perl 5.6 compiler's bytecode backend
Perl compiler's C backend
Perl compiler's optimized C translation backend
Disassemble Perl bytecode
Stack and type annotation helper module for the CC backend

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/C.pm
in lib/B/CC.pm