DragonFly On-Line Manual Pages

Search: Section:  


MAIN.C(1)             User Contributed Perl Documentation            MAIN.C(1)

NAME

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

SYNOPSIS

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

DESCRIPTION

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" Functions "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. perl v5.20.3 2015-10-19 MAIN.C(1)

Search: Section: