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.

Date of Patent:
Mar. 02, 1999

Filed:

May. 15, 1996
Applicant:
Inventors:

Anne M Holler, San Jose, CA (US);

Manuel E Benitez, Sunnyvale, CA (US);

Assignee:

Hewlett-Packard Company, Palo Alto, CA (US);

Attorney:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F / ;
U.S. Cl.
CPC ...
395709 ; 395705 ;
Abstract

Software procedure call overhead, i.e. the memory references or other steps taken to save and restore callee save register values during execution of a called procedure, are reduced by restructuring the procedure code during optimization so that unnecessary or redundant save and restore operations are less likely. The procedure exit block is split into first and second exit blocks, with control flow from the first to the second exit block, and return to the calling procedure from the latter. 'Shortcut' control paths are directed to the second exit block, while the new, first exit block is used to post-dominate sections of the code not otherwise amenable to shrink-wrapping techniques. Save and restore operations are wrapped around the non-shortcut code and the new exit block. During execution of the procedure as modified, shortcut paths to the second exit block effectively bypass the first exit block, thereby reducing overhead associated with callee save registers referenced in the non-shortcut path. This methodology extends known shrink-wrapping concepts to further improve performance of computer programs.


Find Patent Forward Citations

Loading…