2010 SBAC R. Sanchez, J. N. Amaral, D. Szafron, M. Pirvu and M. Stoodley, Using Machines to Learn Method-Specific Compilation Strategies, Proceedings of the International Symposium on Code Generation and Optimization(CGO), Chamonix, France, April 2011, 223-230, abstract or pdf.

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 JavaTM 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 machinelearned 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.