| US 7,458,067 B1 | ||
| Method and apparatus for optimizing computer program performance using steered execution | ||
| Partha P. Tirumalai, Fremont, Calif. (US); Spiros Kalogeropulos, Los Gatos, Calif. (US); Yonghong Song, South San Francisco, Calif. (US); and Kurt J. Goebel, Dayton, Ohio (US) | ||
| Assigned to Sun Microsystems, Inc., Santa Clara, Calif. (US) | ||
| Filed on Mar. 18, 2005, as Appl. No. 11/84,656. | ||
| Int. Cl. G06F 9/44 (2006.01) | ||
| U.S. Cl. 717—140 [717/151] | 13 Claims |

| 1. A method for optimizing computer program performance by using steered execution, comprising: receiving source code for
a computer program; compiling a portion of source code with a first set of optimizations to generate a first compiled portion;
compiling the same portion of source code with a second set of optimizations to generate a second compiled portion; compiling
remaining source code to generate a third compiled portion, wherein the remaining source code was not compiled with either
the first set of optimizations or the second set of optimizations; generating a rule for selecting between the first compiled
portion and the second compiled portion; and combining the first compiled portion, the second compiled portion, the third
compiled portion, and the rule into an executable output file;
During execution of the executable output file, steering execution between the first compiled portion and the second compiled
portion based upon the rule;
Monitoring an execution parameter during execution of the executable output file; and
steering execution between the first compiled portion and the second compiled portion based upon the monitored value of the
execution parameter.
|