Patent
1996-05-15
1999-03-02
Lall, Parshotam S.
395705, G06F 945
Patent
active
058782613
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.
REFERENCES:
patent: 4924408 (1990-05-01), Highland
patent: 5457799 (1995-10-01), Srivastava
patent: 5701489 (1997-12-01), Bates et al.
patent: 5734908 (1998-03-01), Chen et al.
"Minimizing Register Usage Penalty at Procedure Calls" by Fred C. Chow, Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, Atlanta, Georgia, Jun. 22-24, 1988, pp. 85-94.
Benitez Manuel E.
Holler Anne M.
Hewlett--Packard Company
Lall Parshotam S.
Vu Viet
LandOfFree
Method for restructuring code to reduce procedure call overhead does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method for restructuring code to reduce procedure call overhead, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for restructuring code to reduce procedure call overhead will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-431954