Context-Sensitive Ahead-of-Time Inlining for GraalVM Native Image
Project
Context-Sensitive Ahead-of-Time Inlining for GraalVM Native Image
Principal Investigator
School of Electrical Engineering, University of Belgrade
Oracle Fellowship Recipient
Oracle Principal Investigator
Aleksandar Prokopec, Senior Software Manager
Summary
The primary goal of this project is to improve GraalVM native-image performance. The current profile-guided optimizations (PGO) already improve native-image performance over the default performance by a substantial margin. However, on many of the standard benchmarks, there is still a performance gap between profile-driven native-image and HotSpot performance. This project will develop a new ahead-of-time inlining algorithm to narrow this gap. The new algorithm will first detect the clusters of hot compilation units inside the native image, and then change the compilation order in native image to start from these clusters, instead of the standard entry points. While doing so, the new inlining algorithm will boost the inlining budget of the compilation units that comprise the hot clusters, and it will employ special exploration and inlining policies that rely on the knowledge about which callees are transitively hot.