B::Bytecode

The bytecode backend for the Perl compiler. Takes Perl source code and generates platform-independent bytecode that can be run with the byteperl executable or can be loaded via the byteload_fh function in the B module. Compiling with the bytecode backend won’t speed up execution of your program, but it may improve start-up time. Invoke as:

perl -MO=Bytecode[,options] program

in which program is the name of the Perl script to compile. Any non-option arguments are treated as the names of objects to be saved; the main program is assumed if there are no extra arguments. Possible options are:

--

Forces end of options.

-Dopts

Debug options, which can be concatenated or specified separately. Possible options are:

a

Tells the bytecode assembler to include assembler source in its output as bytecode comments

b

Prints debugging information about bytecompiler progress

C

Prints each CV from the final walk through the symbol tree

o

Prints each OP as it’s processed

-fopt

Forces individual optimizations on or off. Preceding an optimization with no- turns that option off (e.g., no-compress-nullops). Possible values of opt are:

bypass-nullops

If op->op_next ever points to a NULLOP, replaces the op_next field with the first non-NULLOP in the path of execution.

compress-nullops

Fills in only the necessary fields of ops that have been optimized away by Perl’s internal compiler.

omit-sequence-numbers

Leaves out the code to fill in the op_seq field for all ops that are used only by Perl’s internal compiler.

strip-syntax-tree ...

Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.