Programming languages: design and implementation (2nd ed.)
Programming languages: design and implementation (2nd ed.)
Approximate Algorithms for the 0/1 Knapsack Problem
Journal of the ACM (JACM)
Revised report on the algorithm language ALGOL 60
Communications of the ACM
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
Programming languages and their compilers: Preliminary notes
Programming languages and their compilers: Preliminary notes
Interprocedural constant propagation
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Comments on "A Massive Memory Machine"
IEEE Transactions on Computers
On the use of registers vs. cache to minimize memory traffic
ISCA '86 Proceedings of the 13th annual international symposium on Computer architecture
WISQ: a restartable architecture using queues
ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
GENESIS: An Extensible Database Management System
IEEE Transactions on Software Engineering
On the Minimization of Loads/Stores in Local Register Allocation
IEEE Transactions on Software Engineering
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Architectural support for reduced register saving/restoring in single-window register files
ACM Transactions on Computer Systems (TOCS)
Procedure merging with instruction caches
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Subprogram Inlining: A Study of its Effects on Program Execution Time
IEEE Transactions on Software Engineering
The Python compiler for CMU Common Lisp
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Inlining semantics for subroutines which are recursive
ACM SIGPLAN Notices
HOPL-II The second ACM SIGPLAN conference on History of programming languages
On the conversion of indirect to direct recursion
ACM Letters on Programming Languages and Systems (LOPLAS)
Towards better inlining decisions using inlining trials
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Lambda-splitting: a higher-order approach to cross-module optimizations
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Interprocedural Partial Redundancy Elimination With Application to Distributed Memory Compilation
IEEE Transactions on Parallel and Distributed Systems
Compact and efficient presentation conversion code
IEEE/ACM Transactions on Networking (TON)
Constant propagation with conditional branches
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An object-oriented approach to database system implementation
ACM Transactions on Database Systems (TODS)
Reducing the cost of branches by using registers
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
PIPE: a VLSI decoupled architecture
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
A comparative study of static and profile-based heuristics for inlining
DYNAMO '00 Proceedings of the ACM SIGPLAN workshop on Dynamic and adaptive compilation and optimization
Extracting library-based object-oriented applications
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Inline expansion of SETL procedures
ACM SIGPLAN Notices
Inline routines in VAXELN Pascal
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
In or out?: putting write barriers in their place
Proceedings of the 3rd international symposium on Memory management
Practical extraction techniques for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Recursion Unrolling for Divide and Conquer Programs
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
An Empirical Study of Method In-lining for a Java Just-in-Time Compiler
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
Adaptive online context-sensitive inlining
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
Data abstraction: A static implementation strategy
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
Compiler design for efficient code generation and program optimization
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
TCOLAda and the “Middle End” of the PQCC Ada compiler
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on The ADA programming language
Function inlining versus function cloning
ACM SIGPLAN Notices
Function inlining versus function cloning
ACM SIGPLAN Notices
TCOLAda and the "middle end" of the PQCC Ada compiler
SIGPLAN '80 Proceedings of the ACM-SIGPLAN symposium on Ada programming language
Interprocedural constant propagation
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Scalable High Performance Cross-Module Inlining
Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques
History of programming languages---II
Design and evaluation of dynamic optimizations for a Java just-in-time compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
EDO: Exception-directed optimization in java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inline Analysis: Beyond Selection Heuristics
Proceedings of the International Symposium on Code Generation and Optimization
Adaptive inlining and on-stack replacement in the CACAO virtual machine
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Jolt: lightweight dynamic analysis and removal of object churn
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Design and use of a program execution analyzer
IBM Systems Journal
The experimental compiling system
IBM Journal of Research and Development
Design and use of a program execution analyzer
IBM Systems Journal
Aggressive function inlining: preventing loop blockings in the instruction cache
HiPEAC'08 Proceedings of the 3rd international conference on High performance embedded architectures and compilers
An adaptive strategy for inline substitution
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Selective search of inlining vectors for program optimization
Proceedings of the 9th conference on Computing Frontiers
Evaluating inlining techniques
Computer Languages
On the determination of inlining vectors for program optimization
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 48.22 |
An optimization technique known as inline substitution is analyzed. The optimization consists of replacing a procedure invocation by a modified copy of the procedure body. The general problem of using inline substitution to minimize execution time subject to size constraints is formulated, and an approximate algorithmic solution is proposed. The algorithm depends on run-time statistics about the program to be optimized. Preliminary results for the CLU structured programming language indicate that, in programs with a low degree of recursion, over 90 percent of all procedure calls can be eliminated, with little increase in the size of compiled code and a small savings in execution time. Other conclusions based on these results are also presented.