Inlining-Benefit Prediction with Interprocedural Partial Escape Analysis
METADATA ONLY
Loading...
Author / Producer
Date
2022-11
Publication Type
Conference Paper
ETH Bibliography
yes
Citations
Altmetric
METADATA ONLY
Data
Rights / License
Abstract
Inlining is the primary facilitating mechanism for intraprocedural Partial Escape Analysis (PEA), which allows for the removal of object allocations on a branch-by-branch basis and is critical for performance in object-oriented languages. Prior work used interprocedural Escape Analysis to make inlining decisions, but it discarded control-flow-sensitivity when crossing procedure boundaries, and did not weigh other metrics to model the cost-benefit of inlining, resulting in unpredictable inlining decisions and suboptimal performance. Our work addresses these issues and introduces a novel Interprocedural Partial Escape Analysis algorithm (IPEA) to predict the inlining benefits, and improve the cost-benefit model of an existing optimization-driven inliner. We evaluate the implementation of IPEA in GraalVM Native Image, on industry-standard benchmark suites Dacapo, ScalaBench, and Renaissance. Out of 36 benchmarks with a geometric mean runtime improvement of 1.79%, 6 benchmarks achieve an improvement of over 5% with a geomean of 9.10% and up to 24.62%, while also reducing code size and compilation times compared to existing approaches.
Permanent link
Publication status
published
External links
Editor
Book title
Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages
Journal / series
Volume
Pages / Article No.
13 - 24
Publisher
Association for Computing Machinery
Event
14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL 2022)
Edition / version
Methods
Software
Geographic location
Date collected
Date created
Subject
escape analysis; graalvm; compilers; inlining