A flow-directed inlining strategy uses information derived from control-flow analysis to specialize and inline procedures for functional and object-oriented languages. Since it uses control-flow analysis to identify candidate call sites, flow-directed inlining can inline procedures whose relationships to their call sites are not apparent. For instance, procedures defined in other modules, passed as arguments, returned as values, or extracted from data structures can all be inlined. Flow-directed inlining specializes procedures for particular call sites, and can selectively inline a particular procedure at some call sites but not at others. Finally, flow-directed inlining encourages modular implementations: control-flow analysis, inlining, and post-inlining optimizations are all orthogonal components. Results from a prototype implementation indicate that this strategy effectively reduces procedure call overhead and leads to significant reduction in execution time. © 1996 ACM.
Mendeley helps you to discover research relevant for your work.
CITATION STYLE
Jagannathan, S., & Wright, A. (1996). Flow-directed inlining. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 31(5), 193–205. https://doi.org/10.1145/249069.231417