Changes for version 1.16 - 2010-01-27

  • 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. Changed new OBJ => OBJ->new More curcop->write_back protection.
  • Stackobj.pm (1.00_02): RV fix for 5.11.
  • t/testc.sh, t/test.pl: added CC specific tests to increase CC op coverage after 100. Switched test 32->101 (arith) with 33->32 (evaltry catch die) as it fails with 5.11.3. Added new qr test 33 (Nick Koston), test 34 for magic hashes, test 35 for broken methodcall syntax (method_named), test 36 for HV self-references.
  • TESTS: added test 32 (evaltry catch die): Fails on 5.11.3 C/CC only, <5.11.3 it works okay. Also tests 33, 34, 35, 36.
  • ByteLoader/Makefile.PL: removed cygwin gcc specific stack-protector removal. It was a bug of mine. Added more AUTHOR gcc -ansi warnings, just -pedantic not.
  • Makefile.PL: Added more AUTHOR gcc warnings, also -pedantic. Added optional Opcodes PREREQ_PM

Documentation

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

Modules

Autogenerated data about Perl ops, used to generate bytecode
load byte compiled perl code
Autogenerated data about Perl ops, used to generate bytecode
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