1MAIN.C(1) User Contributed Perl Documentation MAIN.C(1)
2
3
4
6 pbc_merge - Merge multiple Parrot bytecode (PBC) files into
7 a single PBC file.
8
10 pbc_merge -o out.pbc input1.pbc input2.pbc ...
11
13 This program takes two or more PBC files and produces a single merged
14 output PBC file with a single fix-up table and constants table.
15
16 Command-Line Options
17 "-o out.pbc"
18 The name of the PBC file to produce, containing the merged segments
19 from the input PBC files.
20
21 "-?" or "--help"
22
23 Functions
24 "static void help(void)"
25 Prints usage info.
26
27 "static void ensure_libdep(PARROT_INTERP, PackFile_ByteCode *bc, STRING
28 *lib)"
29 Ensures that the libdep "lib" is in the libdeps list for "bc".
30
31 "static PackFile_ByteCode* pbc_merge_bytecode(PARROT_INTERP,
32 pbc_merge_input **inputs, int num_inputs, PackFile *pf)"
33 This function merges the bytecode from the input packfiles, storing
34 the offsets that each bit of bytecode now exists at.
35
36 "static PackFile_ConstTable* pbc_merge_constants(PARROT_INTERP,
37 pbc_merge_input **inputs, int num_inputs, PackFile *pf)"
38 This function merges the constants tables from the input PBC files.
39
40 "static PackFile_Annotations* pbc_merge_annotations(PARROT_INTERP,
41 pbc_merge_input **inputs, int num_inputs, PackFile *pf,
42 PackFile_ByteCode *bc)"
43 Merge Annotations segments from "inputs" into a new
44 "PackFile_Annotations" segment. Returns the new merged segment
45 (which is also already appended to the directory in "pf").
46
47 "static void pbc_merge_debugs(PARROT_INTERP, pbc_merge_input **inputs,
48 int num_inputs, PackFile_ByteCode *bc)"
49 This function merges the debug segments from the input PBC files.
50
51 "static void pbc_fixup_bytecode(PARROT_INTERP, pbc_merge_input
52 **inputs, int num_inputs, PackFile_ByteCode *bc)"
53 Fixup bytecode. This includes correcting pointers into the constant
54 table and updating the ops mapping.
55
56 "static void pbc_fixup_constants(PARROT_INTERP, pbc_merge_input
57 **inputs, int num_inputs)"
58 Fixup constants. This includes correcting pointers into bytecode.
59
60 "static PackFile* pbc_merge_begin(PARROT_INTERP, pbc_merge_input
61 **inputs, int num_inputs)"
62 This is the function that drives PBC merging process.
63
64 "static void pbc_merge_write(PARROT_INTERP, PackFile *pf, const char
65 *filename)"
66 This functions writes out the merged packfile.
67
68 "int main(int argc, const char **argv)"
69 The main function checks arguments, reads in the packfiles provided
70 they exist, call the merge functions and writes out the produced
71 packfile.
72
73
74
75perl v5.28.0 2016-02-15 MAIN.C(1)