Back to results
US 2004/0064809 A1Published application
System and method for optimizing a program
AssigneeHewlett-Packard Development Company, L.P.
InventorsShin-Ming Liu, Dmitry Mikulin, Muralitharan Vijayasundaram, David Xinliang Li
Life of this patent
Estimating the term…
Abstract
Disclosed are systems and methods for optimizing a program.
Claims28
A method for optimizing a program, comprising:
- analyzing the program to gather information regarding global variables used in the program;
- providing the information gathered about the global variables to a compiler that is to compile the program;
- and
- compiling the program with the compiler in view of the gathered information so as to optimize the program.
1 more element
A method for optimizing a program, comprising:
- analyzing the program to gather information regarding a call to a function of the program;
- providing the information gathered about the function call to a compiler that is to compile the program;
- and
- compiling the program with the compiler in view of the gathered information so as to optimize the program.
1 more element
A method for optimizing a program, comprising:
- translating source objects of the program into intermediate objects using a compiler;
- providing the intermediate objects to a linker;
- analyzing portions of the program about which the compiler has no knowledge using the linker;
- updating a global symbol table with information obtained during the analysis;
- passing the intermediate objects back to the compiler;
- providing information contained in the linker global symbol table to the compiler;
- and
- translating the intermediate objects into real objects with the compiler in reference to the information contained in the linker global symbol table so as to optimize the program.
5 more elements
A system for optimizing a program, comprising:
- linking means for analyzing the program to determine information that can be used to optimize the program;
- compiling means for compiling the program in view of the information determined by the linking means;
- and
- feedback means for providing the information determined by the linking means to the compiling means for reference during compilation so that the program can be optimized.
1 more element
A system for optimizing a program, comprising:
- a compiler configured to translate source objects of the program into intermediate objects;
- a linker configured to analyze portions of the program about which the compiler has no knowledge to derive information relevant to program optimization;
- and
- a feedback plug-in that includes interfaces that can be called by the compiler and the linker, the feedback plug-in facilitating communication of the derived information to the compiler.
1 more element
A system stored on a computer-readable medium for optimizing a program, comprising:
- logic configured to translate source objects of the program into intermediate objects;
- logic configured to translate intermediate objects into real objects;
- logic configured to analyze the program to obtain information that may be used to optimize the program;
- and
- logic configured to facilitate communication of the obtained information to the logic configured to translate the intermediate objects into real objects.
2 more elements
A plug-in for facilitating program optimization, comprising:
- a plurality of interfaces that can be called by function pointers of a compiler and a linker, a first interface facilitating communication to the compiler that a first pass of the linker has been completed to thereby indicate that whole program analysis has been performed to collect information relevant to program optimization in a linker global symbol table, a second interface facilitating communication to the linker to provide the collected information to the compiler;
- wherein the compiler can then compile the program using the information collected from the linker so as to optimize the program.
Dependencies are inferred from the claim text.