kirancodes.me
To Proof Maintenance & Beyond!

Using machines to learn method-specific compilation strategies

Ricardo Nabinger Sanchez, José Nelson Amaral, Duane Szafron, Marius Pirvu, Mark G. Stoodley

Abstract

Support Vector Machines (SVMs) are used to discover method-specific compilation strategies in Testarossa, a commercial Just-in-Time (JiT) compiler employed in the IBM®J9 Java™ Virtual Machine. The learning process explores a large number of different compilation strategies to generate the data needed for training models. The trained machine-learned model is integrated with the compiler to predict a compilation plan that balances code quality and compilation effort on a per-method basis. The machine-learned plans outperform the original Testarossa for start-up performance, but not for throughput performance, for which Testarossa has been highly hand-tuned for many years.

Related papers