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.
Debug options, which can be concatenated or specified separately.
Possible options are:
Tells the bytecode assembler to include assembler source in its
output as bytecode comments
Prints debugging information about bytecompiler progress
Prints each CV from the final walk through the symbol tree
Prints each OP as it's processed
Forces individual optimizations on or off. Preceding an optimization
with no- turns that option off (e.g.,
no-compress-nullops). Possible values of
If op->op_next ever points to a NULLOP,
replaces the op_next field with the first
non-NULLOP in the path of execution.
Fills in only the necessary fields of ops that have been optimized
away by Perl's internal compiler.
Leaves out the code to fill in the op_seq field
for all ops that are used only by Perl's internal
Leaves out the code to fill in the internal syntax tree pointers. Use
of this option breaks any goto
label statements and prevents later
recompiling or disassembling of the resulting program.
Compiles as a module rather than as a standalone program.
Sends output to filename instead of STDOUT.
Sets the optimization level to n, in in
which n is an integer.
n defaults to 1.
-O1 sets -fcompress-nullops
-fomit-sequence-numbers, and -O6 adds
Outputs bytecode assembler source instead of assembling it into
Copyright © 2002 O'Reilly & Associates. All rights reserved.