1. A computer controlled method for improving runtime performance of a source program by a compiler, said method comprising: (a) analyzing said source program comprising procedures to generate a call graph of said source program, wherein each of said procedures has a first known execution frequency; (b) using said call graph in conjunction with inlining plans by an inlining algorithm to generate an inlined version of said source program wherein selected call sites have been inlined; (c) generating an updated execution frequency for each of procedures; (d) using said updated execution frequency for each of said procedures to generate optimized executable code for said source program.