None
EN
Inlining in Higgs
[]
Pointers Gone Wild
Because Higgs is partially self-hosted and its runtime is mostly implemented in JavaScript, Higgs does very many function calls, and inlining is crucial to achieve any kind of competitive performance. For one, transforming code for inlining takes time and so taking the time to perform inlining might actually reduce overall performance if it isn't done sparingly (there's a cost-benefit tradeoff involved). This is because Higgs doesn't yet do much specialization and optimization after inlining, but also because inlining doesn't get used much.