Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

rurban (7989)

rurban
  reversethis-{ta.yar-x} {ta} {nabrur}
http://rurban.xarch.at/

cygwin maintainer for perl, parrot, clisp, postgresql, ... and some perl modules (perl-libwin32, perl-Win32-GUI). Has also some hairy CPAN packages: B::C, B::Generate, C::DynaLib, B::Debugger ...

Journal of rurban (7989)

Saturday February 02, 2008
04:51 AM

perl compiler 5.9.5

[ #35558 ]

I was worried about the perl compiler state after parts have been removed from CORE with 5.9.5.
Having patched parts of B::Generate and more packages for 5.10, I felt to give B::C and friends a try.

I also wanted to experiment with the GNU lightning library, which I also evaluate for a clisp bytecode compiler extension (done recently by Yann Nicolas Dauphin in parallel), and for another project of mine. The JIT compiler for clisp is now usable, but slow.

So I fixed the obvious compiler warnings with the changed structs, and packaged B::C, B::CC, ByteLoader and its helper packages for a forthcoming B-C-1.05 package.

I also had some thoughts on future optimizations
when a native code perl compiler backend is available. This is what JIT lightning does.
E.g. type checking and detecting IVonly or PVonly ints or strings, which could be optimized to smaller and faster ops in JIT assembler.
Thinking about new B::Asm and B::JIT backends, "PLJC" ByteLoader 4-byte magic header.
byterun.c => jitrun.c

Current state:
1.04_02 2008-01-22 rurban
        * removed from CORE, now on CPAN.
        * added byteorder to bytecode header.
        * added support for 5.10 (NOT YET WORKING!), 5.9.5 not tested.
            up to 5.8.x already in CORE, so disabled.
            add back support later, when C/CC is improved or more features
            are added.
        * added type hekindex
        * added c.t and cc.t tests
        * extended bytecode.pl format: added version logic
            to have strictly consecutive indices

All compile-time failures fixed, but still some run-time failures for bytecode XCV_STASH and PV handling.

http://rurban.xarch.at/cygr/perl/B-C-1.04_02.tar.gz

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.