Method and apparatus for profiling indirect procedure calls in a

Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

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.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

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.

Rate now

     

Profile ID: LFUS-PAI-O-1912808

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.