The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Apr. 26, 2011
Filed:
Oct. 13, 2006
Kevin Michael Corry, Pflugerville, TX (US);
Mark Alan Peloquin, Austin, TX (US);
Steven Pratt, Leander, TX (US);
Santhosh Rao, Austin, TX (US);
Karl Milton Rister, Austin, TX (US);
Kevin Michael Corry, Pflugerville, TX (US);
Mark Alan Peloquin, Austin, TX (US);
Steven Pratt, Leander, TX (US);
Santhosh Rao, Austin, TX (US);
Karl Milton Rister, Austin, TX (US);
International Business Machines Corporation, Armonk, NY (US);
Abstract
A generalized on-line solution for achieving transparent binary optimization using pre-existing profiling facilities and virtual memory remapping of text regions. An optimization environment is initialized which comprises a debugger program, a profiling facility, and an optimizer. A running target program is attached to the debugger program, wherein the debugger program monitors process execution of the target program. Responsive to monitoring the running target program, profile data of the running target program is collected using the profiling facility. The profile data is provided to the optimizer, wherein the optimizer analyzes the profile data and existing code of the running target program. Responsive to a determination to optimize the existing code based on the profile data, optimized code is generated for the running target program. The optimized code is provided to the debugger program, wherein the debugger program inserts the optimized code into a virtual address space of the running target program.