Changes for version 1.55 - 2017-02-10

  • C: Support 5.24 and 5.24c (ByteLoader and CC got broken with 5.22) Handle cperl OP_SIGNATURE, but not 5.26 signatures with its 3 new ops. Fix refcount of cop hints hashes with 5.22-nt (#220) Add missing B::FAKEOP::rettype for cperl-5.24, causing SEGV on B::CC Fixed shared xpviv with 5.24 on 32bit. Fix bytecode.pl call in cperl core. Optimize CopFILE_set by caching gv_fetchfile (CPANEL-7887) Abstract utf8_heavy loader (CPANEL-5417, CPANEL-6105, #369, #364) fixing redefinition warnings, fixing %INC (atoomic) Improve NV precision, use %17g (atoomic #373) Fix delayed cvref initialization of XS module functions (#376) Reset mg_flags without MGf_REFCOUNTED from the source (#390) Support uselongdouble LDBL_MIN/LDBL_MAX constants Fixed some IsCOW savepvn lengths (#396) Optimize mro_isa_changed_in initialization via a new B::HV::Gv_AMG idea by bdraco
  • ByteLoader: Fix various compiler warnings. Still broken upstream since 5.22
  • CC: PERL_OP_PARENT and 5.6 and 5.22 fixes. support utf8 labels. 5.24 mostly broken still, cperl 5.24c doing fine though.
  • META: fixed the bugtracker and repository

Changes for version 1.54_03 - 2016-05-09

  • Released with cperl-5.22.2
  • C: Remove hash argument from share_hek, always rehash. Work on PERL_DESTRUCT_LEVEL=2 Unbalanced string table refcount issues. Fix for CVf_CONST CVs with cperl (constant::import) Replace %Lu with %lu/%u Fix for shared xpviv with 5.24. This asserts now if unshared.
  • perlcc/cc_harness/TestBC: many more PERL_CORE fixes, to workaround broken ExtUtils::Embed::ldopts
  • tests: skip perlcc with -m32 cross and PERL_CORE. Can only work reliable on individual CPAN setups, but not with CORE smoking. Blame Configure Replace test.pl with TestBC.pm. Blame core harness

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