Patent ID: 7996825
Filing Date: 2011-08-09
Classification: G06F

Abstract:
1. A method of compiling a computer program, the method comprising: receiving a plurality of modules of source code; generating intermediate representations corresponding to the modules; extracting a set of data from the intermediate representations to create an inliner summary for each module; using the inliner summaries and a globally-sorted working-list based order in an inline analysis phase, without using the intermediate representations in the inline analysis phase, to determine which call sites in the modules are to be inlined by substituting code from a called module, wherein said globally-sorted working-list based order is dynamically updated during the inline analysis phase; and after a call site is determined to be inlined, updating a call graph of the routines and call sites, and updating the inliner summaries throughout the call graph, wherein determining the call sites to be inlined involves proceeding only once through the call sites in said dynamically-updated globally-sorted working-list based order.