Inlining-Benefit Prediction with Interprocedural Partial Escape Analysis


METADATA ONLY
Loading...

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.

Publication status

published

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

Organisational unit

Notes

Funding

Related publications and datasets