Method and apparatus for generating an optimized target executable computer program using an optimized source executable
AssigneeSun Microsystems, Inc.
InventorHari K. Ravichandran
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorHari K. Ravichandran
Estimating the term…
A method and apparatus for transforming a source executable code optimized for a source processor into a target executable code optimized for execution on a target processor is provided. Initially, the source executable is converted into a functionally equivalent source executable capable of execution on the target processor. Next, execution performance information for each basic block of code in the functionally equivalent source executable code is collected. Similarly, execution performance information for each basic block of code in an initial target executable code is also collected. As a next step, an optimization metric is generated for each basic block of code within the functionally equivalent source executable code and for each basic block of code within the initial target executable code. These optimization metrics are used to compare basic blocks in the functionally equivalent source executable code with basic block of code within the initial target executable code. To perform this comparison, the optimization metric for each basic block of code within the initial target executable code is associated with the corresponding optimization metric associated with each basic block of code within the functionally equivalent source executable code. Next, based upon the corresponding optimization metric for each basic block, it is determined which basic blocks of code in the initial target executable code and the functionally equivalent source executable code have higher execution performance. Next, a target executable code is generated using a combination of basic blocks of code from the initial target executable code and the functionally equivalent source executable code which exhibit higher execution performance. Then, each basic block in the target executable code is optimized in a predetermined order typically based upon the elapsed execution time.
A method executed on a computer for transforming a source executable code optimized for execution on a source processor into a target executable code optimized for execution on a target processor, comprising the steps of:
An apparatus for transforming a source executable code optimized for execution on a source processor into a target executable code optimized for execution on a target processor, comprising:
Dependencies are inferred from the claim text.