Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
2007-11-27
2007-11-27
Steelman, Mary (Department: 2191)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S140000, C717S145000
Reexamination Certificate
active
10699067
ABSTRACT:
One embodiment disclosed relates to a method of compiling a computer program from a plurality of files of source code. An inline analysis determines which call sites in the plurality of files to make inline. An inline transformation performs the inlining within currently opened files. The transformer dynamically determines the order of inlines independent of the analyzer by taking into account the disk input-output pressure during compilation. The resulting inline order minimizes the input and output of files from and to disk respectively by considering the inline affinity between files and maintains the best run-time performance by preserving the dependences between call sites. During the inline transformation, a determination of which files to open and close is made in dependence on an affinity weighting between the files. The affinity and the dependence relationships are continuously updated in order to generate the best transformation ordering among call sites that ensures compile-time scalability and improved run-time performance.
REFERENCES:
patent: 5428793 (1995-06-01), Odnert et al.
patent: 5555417 (1996-09-01), Odnert et al.
patent: 5740443 (1998-04-01), Carini
patent: 5857105 (1999-01-01), Ayers et al.
patent: 5920723 (1999-07-01), Peyton, Jr. et al.
patent: 5978588 (1999-11-01), Wallace
patent: 6195793 (2001-02-01), Schmidt
patent: 6292940 (2001-09-01), Sato
patent: 6971091 (2005-11-01), Arnold et al.
patent: 7058561 (2006-06-01), Kumar
patent: 7120906 (2006-10-01), Stephenson et al.
patent: 7146606 (2006-12-01), Mitchell et al.
patent: 2002/0066081 (2002-05-01), Duesterwald et al.
patent: 2005/0097528 (2005-05-01), Chakrabarti et al.
Dolby, Julian; Chien, Andrew A; “An Evaluation of Automatic Object Inline Allocation Techniques”, p. 1-20, 1998 ACM retrieved Feb. 5, 2007.
Hwu, Wen-mei W.; Chang, Pohua P.; “Inline Function Expansion for Compiling C Programs”, p. 246-257, 1989 ACM, retrieved Feb. 5, 2007.
Lindgren, Thomas; Jonsson, Christer; “The Design and Implementation of a High-Performance Erlang Compiler”, p. 1-11, retrieved from scholar.google.com search Feb. 5, 2007.
Sundaresan, Vijay; Hendren, Laurie; Razafimahefa, Chrislain; Vallee-Rai, Raja; Lam, Patrick; Gagnon, Etienne; Godin, Charles; “Practical Virtual Method Call Resolution for Java”, p. 264-280, 2000 ACM, retrieved Feb. 5, 2007.
Chang, Pohua P; Mahlke, Scott A; Chen, William Y; Hwu, Wen-Mei W; “Profile guided Automatic Inline Expansion for C Programs”, p. 349-369, Software Practice and Experience, vol. 22(5), May 1992, retrieved Jun. 18, 2007.
Chen, William Y; Chang, Pohua P; Conte, Thomas M; Hwu, Wen-mei W; “The Effect of Code Expanding Optimizations on Instruction Cache Design”, p. 1-36, 1992, retrieved from citeseer.com on Jun. 18, 2007.
Andrew Ayers, et al., “Aggressive InLining”, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1997, pp. 134-145.
Andrew Ayers, et al., “Scalable Cross-Module Optimization”, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1998, pp. 301-312.
Pohua P. Chang, t al., “Profil -guid d Automatic InLine Expansion for C Programs”, 1992, Software-Practice and Exp ri nc vol. 22 (5), pp. 349-369.
J. Eugene Ball, “Predicting the Effects of Optimization on a Procedure Body”, ACM SIGPLAN, 1979, pp. 214-220.
Owen Kaser, et al., “Evaluating InLining Techniques”, Aug. 14, 1996, pp. 1-15.
Matthew Arnold, et al., “A Comparative Study of Static and Profile-Based Heuristics for InLining”, ACM, 2000, pag s 52-64.
Peng Zhao, et al., “To InLine or Not to InLine? Enhanced InLining Decisions”, to appear at the 16th Workshop on Language and Compilers for Parallel Computing (LCPC03), Oct. 2003.
Toshio Suganuma, et al., “An Empirical Study of Method InLining for a Java Just-In-Time Compiler”, Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium, Aug. 2002.
Chakrabarti Dhruva Ranjan
Liu Shin-Ming
Hewlett--Packard Development Company, L.P.
Steelman Mary
LandOfFree
Scalable cross-file inlining through locality-based... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Scalable cross-file inlining through locality-based..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Scalable cross-file inlining through locality-based... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3874820