Patent
1997-10-15
2000-06-06
Hafiz, Tariq R.
G06F 944
Patent
active
060729511
ABSTRACT:
A compiler and method of compiling provide enhanced performance by inlining one or more frequently executed paths through a child procedure into a parent procedure without inlining the entire child procedure. Accordingly, a substantial improvement in speed of execution of the program can be achieved by reducing procedure call overhead, with reduced expense in terms of program size as compared to traditional inlining. Various criteria for determining whether to inline particular child procedures are also described.
REFERENCES:
patent: 5212794 (1993-05-01), Pettis et al.
patent: 5452440 (1995-09-01), Salsburg
patent: 5664191 (1997-09-01), Davidson et al.
patent: 5689712 (1997-11-01), Heisch
patent: 5768595 (1998-06-01), Gillies
patent: 5790858 (1998-08-01), Vogel
Ayers et al., Aggressive inlining, ACM SIGPLAN Notices, vol. 32, No. 5, (May 1997) pp. 134-135.
Chang et al., Profile-guided automatic inline expansion for C programs, Software Practice and Experience, vol. 22(5), (May 1992) pp. 349-369.
Davidson et al., Subprogram inlining: at study of its effects on program execution line, Software Engineering, IEEE Transactions, vol. 18, Issue 2, (Feb. 1992) pp. 89-102.
Dean et al., Towards Better Inlining Decisions Using Inlining Trials, LISP (Jun. 1994) pp. 273-282.
DeBosschere et al., alto: A Link-Time Optimizer for the DEC Alpha, National Science Foundation, Jul. 1996.
Goubault, Jean, Generalized Boxings, Congruences and Partial Inlining, Proceedings of First International Static Analysis symposium, SAS '94, Namur, Belgium Sep. 28-30 1994, pp. 147-155.
Pugh, William, Skip Lists: A Probabilistic-Alternative to Balanced Trees, Communications of the ACM, Jun. 1990, vol. 33, No. 6, pp. 668-676.
R. Muth et al., "Partial Inlining" publication on the Worldwide Web, Nov. 1997.
Choi et al., Automatic Construction of Sparse Data Flow Evaluation Graphs, Proc. 18th Annual ACM Symposium on Principles of Programming Languages, pp. 55-66, Jan. 1991.
Briggs et al., An Efficient Representation of Sparse Sets, ACM Letters on Programming Languages and Systems, vol. 2, Nos. 104, Mar-Dec 1993, pp. 59-69.
Heisch, R.R., Trace-directed program restructuring for AIX executables., IBM J. Res. Develop., vol. 38, No. 5, Sep. 1994.
Pettis et al., Profile Guided Codes Positioning, ACM SIGPLAN '90, Conference on Programming Language Design and Implementation, Jun. 20-22, 1990.
Skip Lists: A Probabilistic Alternative to Balanced Trees Wllliam Pugh, Jun. 1990.
The C + + Programming Language, B. Stroustrup, Third Edition pp. 82-84, Jul. 1997.
Principles of Compiler Design, Aho et al., pp. 55,58,341-347,350,375-376, Dec. 1979.
Flow-directed inlining S. Jagannathan et al. May 1996.
Compiling C for vectorization, Parallelization and inline expansion, R. Allen et al., Jun. 1988.
Inline function expansion for compiling C programs Hwu et al., Jun. 1989.
Microsoft's Source Profiler User's Guide --entire manual, 1993.
Compiler Principles, Techniques and Tools Aho et al. p. 280, Sep. 1985.
Donovan Robert John
Roediger Robert Ralph
Schmidt William Jon
Hafiz Tariq R.
Ingberg Todd
International Business Machines - Corporation
LandOfFree
Profile driven optimization of frequently executed paths with in does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Profile driven optimization of frequently executed paths with in, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Profile driven optimization of frequently executed paths with in will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2221770