Changes for version 1.32 - 2011-06-10

  • more darwin and package scan fixes, Bytecode -i includeall. all top100 modules can be now be compiled on most perls
  • Bytecode.pm (1.11): fixed const xsub xsubany ptr >=5.10 <5.14 (27). save_cq => save_begin+save_init_end: moved push_begin upfront for the same init order (44). add CVf_CVGV_RC flag (refcount) on CV with no backref magic, e.g. END (48) added option -i includeall which adds no BEGIN require ops, but adds all included symbols. better BEGIN block @INC manipulation detection (33) print newsvx flags if -S or Comment print hex IV < 8 as int with -S
  • C.pm (1.32): check PERL_TRACK_MEMPOOL for AV malloc (25). fixed init chunk splitting for CV and -fav-init2, if >10000 lines. fixed overlarge AvFILL=3 of endav. Undefined subroutine &main:: (48) fixed shared GPs on typeglob assignment. do not gp_free shared GPs, just set them once. added try_isa before try_autoload. use mro::get_linear_isa instead of @ISA mark_package force: detect and fix already discarded packages which are brought back in directly or by someone else's @ISA. (e.g. Sub::Name needs DynaLoader::dl_load_flags) improved method_named package search, still not exact though (LWP) add manually compiled packages to %INC to avoid a runtime require special case Config detection, AUTOLOAD = launcher, included by Dynaloader added -Ds to print all sub names do not compile any B::C subs, esp. our %SIG handler add our own Internals::V as it is not exported by libperl inc the REFCNT of stashes (Path::Class)
  • Assembler.pm (1.10): archflag bit 2 for MULTPLICITY
  • Disassembler.pm (1.10): archflag bit 2 for MULTPLICITY use longsize resp. ivsize from .plc not from perl print newsvx flags print hex IV < 8 as int
  • ByteLoader (0.08): support archflag 2 MULTPLICITY, [perl #86186] force binary IO for __DATA__ handles, which changed in core with 5.14
  • bytecode.pl: support m for MULTIPLICITY (yet unused)
  • Makefile.PL: move cc_runtime.h installation to make install step (sudo). Tested ok on darwin gcc, does use -I. internally.
  • cc_runtime.h: renamed from cc_runtime514.h
  • cc_harness: fixed darwin coredir
  • perlcc (2.11): fixed darwin coredir. omit darwin linking to dynamic .bundle - generate .a via libtool
  • TESTS: removed END block from test 28, only test run-time require (fixed 28) added 48 for previous test 28 END block lexvar del_backref failure added 49 for m//i blowup and -fno-fold testing added 50 empty @ISA issue 64
  • assembler.t: fix for hex->int IV roundtrips

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
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
Stack and type annotation helper module for the 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
in lib/B/CC.pm
int
in lib/B/CC.pm