System for partial in-line expansion of procedure calls during program compilation
AssigneeInternational Business Machines Corporation
InventorsCary Lee Bates, Blair Wyman
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsCary Lee Bates, Blair Wyman
Estimating the term…
A system for the in-line expansion of a portion of the program body otherwise rejected as too expensive for full in-line expansion during intermediate code optimization by a compiler. The partial in-lining system first attempts the full in-line expansion of a procedure call by replacing it with the procedure body in the usual manner. If the procedure body is rejected for exceeding an in-lining threshold, a control flow graph for the procedure body is generated and examined for "emittable" subgraphs, each of which is replaced by a new procedure call to a new procedure body containing the emitted (expensive) subgraph. Following one or more subgraph emissions to eliminate the expensive portions of the original procedure body, the "reduced" procedure body is again passed to the in-line expansion process.
A computer-implemented method for converting a source code computer program into a machine-readable object code, said method comprising the steps of:
A method of operating a compiler system for translating a computer program from source code to object code, wherein said computer program may be represented by a control flow graph (CFG) having a plurality of basic block nodes each coupled by one or more directed control flow arcs to at least one other said basic block node, said compiler system including in-line expansion means for reducing computer program execution cost by replacing a higher-cost procedure call in said computer program with the lower-cost corresponding procedure body, said method comprising the steps of:
A computer apparatus comprising:
A computer program compiler system for translating a computer program from source code to object code, said system comprising:
A computer processing system comprising:
A computer program product for use with a computer system, said computer program product comprising:
A computer program product for use with a computer system having a central processing unit (CPU) for processing data responsive to stored computer programs and having a memory for storing said computer programs, said computer program product comprising:
Dependencies are inferred from the claim text.