Compilers have been improving programmer productivity ever since IBM produced the first FORTRAN compiler in 1957. Today, we mostly take them for granted but even after more than 60 years, compiler researchers and practitioners continue to push the boundaries for what compilers can achieve as well as how easy it is to leverage the sophisticated code bases that encapsulate those six decades of learning in this field. In this talk, I want to highlight how industry trends like the migration to cloud infrastructures and data centers as well as the rise of flexibly licensed open source projects like LLVM and Eclipse OMR are paving the way towards even more effective and powerful compilation infrastructures than have ever existed: compilers with the opportunity to contribute to programmer productivity in even more ways than simply better hardware instruction sequences, and with simpler APIs so they can be readily used in scenarios where even today’s most amazing Just In Time compilers are not really practical.
Mark Stoodley wrote his first compiler almost from scratch at the age of 16 after borrowing his older brother’s copy of the famous Dragon book. It wasn’t easy (and the result wasn’t really very good) but he was hooked. Mark went on to develop backend compiler optimizations for his M.A.Sc. and Ph.D. with the department of Electrical and Computer Engineering at the University of Toronto and, in 2002, joined the IBM Markham Lab in Canada to build Java Just In Time compilers for production use. For the past 5 years, Mark was the overall technical lead for the effort to open source nearly 4.3 million lines of source code from the IBM J9 Java Virtual Machine to create the open source Eclipse OMR and Eclipse OpenJ9 projects and is a lead for both projects. As part of this open sourcing effort, he also created the JitBuilder library, an ongoing effort at the OMR project to design a simplified API for leveraging the optimizing compiler technology at the heart of a production JIT compiler.