Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  PBC_MERGE (1)

.ds Aq ’


pbc_merge - Merge multiple Parrot bytecode (PBC) files into
a single PBC file.



 pbc_merge -o out.pbc input1.pbc input2.pbc ...


This program takes two or more PBC files and produces a single merged output PBC file with a single fix-up table and constants table.

    Command-Line Options

-o out.pbc The name of the PBC file to produce, containing the merged segments from the input PBC files.
-? or --help


static void help(void) Prints usage info.
static void ensure_libdep(PARROT_INTERP, PackFile_ByteCode *bc, STRING *lib) Ensures that the libdep lib is in the libdeps list for bc.
static PackFile_ByteCode* pbc_merge_bytecode(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs, PackFile *pf) This function merges the bytecode from the input packfiles, storing the offsets that each bit of bytecode now exists at.
static PackFile_ConstTable* pbc_merge_constants(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs, PackFile *pf) This function merges the constants tables from the input PBC files.
static PackFile_Annotations* pbc_merge_annotations(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs, PackFile *pf, PackFile_ByteCode *bc) Merge Annotations segments from inputs into a new PackFile_Annotations segment. Returns the new merged segment (which is also already appended to the directory in pf).
static void pbc_merge_debugs(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs, PackFile_ByteCode *bc) This function merges the debug segments from the input PBC files.
static void pbc_fixup_bytecode(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs, PackFile_ByteCode *bc) Fixup bytecode. This includes correcting pointers into the constant table and updating the ops mapping.
static void pbc_fixup_constants(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs) Fixup constants. This includes correcting pointers into bytecode.
static PackFile* pbc_merge_begin(PARROT_INTERP, pbc_merge_input **inputs, int num_inputs) This is the function that drives PBC merging process.
static void pbc_merge_write(PARROT_INTERP, PackFile *pf, const char *filename) This functions writes out the merged packfile.
int main(int argc, const char **argv) The main function checks arguments, reads in the packfiles provided they exist, call the merge functions and writes out the produced packfile.
Search for    or go to Top of page |  Section 1 |  Main Index

perl v5.20.3 MAIN.C (1) 2015-10-19

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.