Patent
1997-03-19
2000-02-15
Trammell, James P.
395705, 395708, 395709, G06F 944, G06F 945
Patent
active
060262346
ABSTRACT:
An apparatus and method provide more complete profile data by instrumenting indirect procedure calls in a computer program. Indirect procedure calls have a number of counters allocated in a table at each indirect call site. The counters are divided into counters in a low volatility area and counters in a high volatility area. The counters in the high volatility area have a pointer that identifies the next procedure to be replaced. As the instrumented code executes, a call to a procedure that is in the table increments the count of the counter in the table. A call to a procedure not in the table is placed in the high volatility area, displacing the procedure at the pointer, and moves the pointer to a new location. The displaced procedure is either promoted to the low volatility area, or is discarded. If promoted, the procedure that it displaces in the low volatility area is demoted to the high volatility area, displacing a procedure there at the pointer (and moving the pointer to a new location). This process continues until a displaced high volatility procedure is discarded.
REFERENCES:
patent: 4213119 (1980-07-01), Ward et al.
patent: 4454579 (1984-06-01), Pilat et al.
patent: 4847755 (1989-07-01), Morrison et al.
patent: 4914590 (1990-04-01), Loatman et al.
patent: 4947315 (1990-08-01), Sokolow et al.
patent: 5014185 (1991-05-01), Saito et al.
patent: 5021945 (1991-06-01), Morrison et al.
patent: 5113496 (1992-05-01), McCalley et al.
patent: 5179703 (1993-01-01), Evans
patent: 5193180 (1993-03-01), Hastings
patent: 5212794 (1993-05-01), Pettis et al.
patent: 5237691 (1993-08-01), Robinson et al.
patent: 5265254 (1993-11-01), Blasciak et al.
patent: 5333304 (1994-07-01), Christensen et al.
patent: 5335344 (1994-08-01), Hastings
patent: 5355487 (1994-10-01), Keller et al.
patent: 5412799 (1995-05-01), Papadopoulos
patent: 5428782 (1995-06-01), White
patent: 5450586 (1995-09-01), Kuzara et al.
patent: 5465258 (1995-11-01), Adams
patent: 5475819 (1995-12-01), Miller et al.
patent: 5487172 (1996-01-01), Hyatt
patent: 5504901 (1996-04-01), Peterson
patent: 5517628 (1996-05-01), Morrison et al.
patent: 5522036 (1996-05-01), Shapiro
patent: 5535329 (1996-07-01), Hastings
patent: 5539907 (1996-07-01), Srivastava et al.
patent: 5579520 (1996-11-01), Bennett
patent: 5602732 (1997-02-01), Nichols et al.
patent: 5613118 (1997-03-01), Heisch et al.
patent: 5740443 (1998-04-01), Carini
patent: 5768592 (1998-06-01), Chang
patent: 5784554 (1998-07-01), Hsiung
patent: 5805821 (1998-09-01), Saxena et al.
patent: 5809450 (1998-09-01), Chrysos et al.
patent: 5872810 (1999-02-01), Philips et al.
Balasa, F., et al., "Transformation of Nested Loops with Modulo Indexing to Affine Recurrences", Parallel Processing Letters, vol. 4, No. 3 (Sep. 1994), pp. 271-280.
Conte, T.M., et al., "Hardware-Based Profiling: An Effective Technique for Profile-Driven Optimization", International Journal of Parallel Programming, vol. 24, No. 2., Apr. 1996, pp. 187-206.
Conte, T.M., et al., "Using Branch Handling Hardware to Support Profile-Driven Optimization", International Symposium on Microarchitecture, 27th, Nov. 30-Dec. 2, 1994, pp. 12-21.
Kishon, A., et al., "Semantics Directed Program Execution Monitoring", J. Functional Programming, vol. 5, No. 4, Oct. 1995, pp. 501-547.
Pettis and Hansen, "Profile Guarded Code Positioning", Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, Jun. 20-22, 1990, pp. 16-27.
"Program Restructuring Technique for Improving Memory Management Performance", IBM Technical Disclosure Bulletin, vol. 39, No. 03, Mar. 1996, pp. 203-205.
Schmidt, W., et al., "Profile-Directed Restructuring of Operating System Code.sub.1 ", Restructuring of Operating System Code, Jan. 7, 1997, pp. 1-9.
Speer, S.E., et al., "Improving UNIX Kernel Performance using Profile Based Optimization", 1994 Winter USENIX, Jan. 17-21, 1994, pp. 181-188.
"Statistics Gathering and Analyzing Tool for Open Software Foundation's Distributed Computing Environment", IBM Technical Disclosure Bulletin, vol. 37, No. 02B, Feb. 1994, pp. 215-217.
Youfeng, W, et al., "Static Branch Frequency and Program Profile Analysis", International Symposium on Microarchitecture, 27th, Nov. 30-Dec. 2, 1994, pp. 1-11.
Hanson Scott Patrick
Schmidt William Jon
International Business Machines - Corporation
Martin Derek P.
Nguyen Cuong H.
Trammell James P.
LandOfFree
Method and apparatus for profiling indirect procedure calls in a 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 and apparatus for profiling indirect procedure calls in a, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for profiling indirect procedure calls in a will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1912808