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

Maja Vukasovic

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.