A survey of inlining heuristics
Summary
This article surveys inlining heuristics across JITs and virtual machines (Cinder, PyPy, V8, JavaScriptCore, etc.), explaining why inlining is powerful but can also harm code size and compile time. It catalogs common heuristics and budget-based decision processes, and compares approaches across multiple engines, offering practical takeaways for developers and performance engineers.