perl-compiler


B::C, B::CC, B::Bytecode / ByteLoader

Malcom Beattie's perl compiler ("perlcc") updated to 5.10 - 5.21.3, with most bugs fixed (also for 5.6. and 5.8) and new features added. It compiles to C or platform-compatible Bytecode.

Releases are at http://search.cpan.org/dist/B-C/

Development is in the master branch at https://github.com/rurban/perl-compiler, the stable branch is called 'release'.

Known issues: See https://github.com/rurban/perl-compiler/issues/ but not all old google code issues could be automatically imported there yet.

  • run-time attributes (e.g. use open attributes, Attribute::Handlers, ...), but ok at compile-time.

  • compile-time perlio layers are not restored

  • some compile-time side-effects can not be reproduced when running a compiled binary, such as BEGIN { chdir $dir }, i.e. most system and IO calls. use INIT {} instead.

  • Certain XS module using compile-time pointers need special workarounds/patchups:

    1. DBI patched by the compiler (#359)
    2. Encode > 2.58 (#71, #305, RT 94221), patched by the compiler
    3. Net::DNS > 0.67 (#305, RT 94069)
    4. IO::Socket::SSL > 1.995 (#317, RT 95452)
    5. DBD::mysql > 4.027 (RT 97625)
    6. Todo: FCGI, Coro, Moose with meta->make_immutable

Mailinglist:

http://groups.google.com/group/perl-compiler perl-compiler@googlegroups.com

irc://irc.perl.org/#compiler

Project Information

Labels:
perl