B::Bytecode man page on BSDi

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDi logo
[printable version]



B::Bytecode(3)	 Perl Programmers Reference Guide  B::Bytecode(3)

NAME
       B::Bytecode - Perl compiler's bytecode backend

SYNOPSIS
	       perl -MO=Bytecode[,OPTIONS] foo.pl

DESCRIPTION
       This compiler backend takes Perl source and generates a
       platform-independent bytecode encapsulating code to load
       the internal structures perl uses to run your program.
       When the generated bytecode is loaded in, your program is
       ready to run, reducing the time which perl would have
       taken to load and parse your program into its internal
       semi-compiled form. That means that compiling with this
       backend will not help improve the runtime execution speed
       of your program but may improve the start-up time.
       Depending on the environment in which your program runs
       this may or may not be a help.

       The resulting bytecode can be run with a special byteperl
       executable or (for non-main programs) be loaded via the
       byteload_fh function in the B module.

OPTIONS
       If there are any non-option arguments, they are taken to
       be names of objects to be saved (probably doesn't work
       properly yet).  Without extra arguments, it saves the main
       program.

       -ofilename
	   Output to filename instead of STDOUT.

       --  Force end of options.

       -f  Force optimisations on or off one at a time. Each can
	   be preceded by no- to turn the option off (e.g. -fno-
	   compress-nullops).

       -fcompress-nullops
	   Only fills in the necessary fields of ops which have
	   been optimised away by perl's internal compiler.

       -fomit-sequence-numbers
	   Leaves out code to fill in the op_seq field of all ops
	   which is only used by perl's internal compiler.

       -fbypass-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.

       -fstrip-syntax-tree
	   Leaves out code to fill in the pointers which link the

16/Sep/1999	       perl 5.005, patch 03			1

B::Bytecode(3)	 Perl Programmers Reference Guide  B::Bytecode(3)

	   internal syntax tree together. They're not needed at
	   run-time but leaving them out will make it impossible
	   to recompile or disassemble the resulting program.  It
	   will also stop goto label statements from working.

       -On Optimisation level (n = 0, 1, 2, ...). -O means -O1.
	   -O1 sets -fcompress-nullops -fomit-sequence numbers.
	   -O6 adds -fstrip-syntax-tree.

       -D  Debug options (concatenated or separate flags like
	   perl -D).

       -Do Prints each OP as it's processed.

       -Db Print debugging information about bytecompiler
	   progress.

       -Da Tells the (bytecode) assembler to include source
	   assembler lines in its output as bytecode comments.

       -DC Prints each CV taken from the final symbol tree walk.

       -S  Output (bytecode) assembler source rather than piping
	   it through the assembler and outputting bytecode.

       -m  Compile as a module rather than a standalone program.
	   Currently this just means that the bytecodes for
	   initialising main_start, main_root and curpad are
	   omitted.

EXAMPLES
	       perl -MO=Bytecode,-O6,-o,foo.plc foo.pl

	       perl -MO=Bytecode,-S foo.pl > foo.S
	       assemble foo.S > foo.plc
	       byteperl foo.plc

	       perl -MO=Bytecode,-m,-oFoo.pmc Foo.pm

BUGS
       Plenty. Current status: experimental.

AUTHOR
       Malcolm Beattie, mbeattie@sable.ox.ac.uk

16/Sep/1999	       perl 5.005, patch 03			2

B::Bytecode(3)	 Perl Programmers Reference Guide  B::Bytecode(3)

16/Sep/1999	       perl 5.005, patch 03			3

[top]

List of man pages available for BSDi

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net