Seminars at the Faculty of Informatics

The Faculty of Informatics is pleased to announce a seminar given by Prof. Michael Franz
TITLE: The Surprising Versatility of Trace Tree Compilation: How We Set Out To Build A Better Just-In-Time Compiler And Suddenly Found Ourselves At The Center Of The Mozilla-Google Browser War
SPEAKER: Michael Franz, professor at Donald Bren School of Information and University of California, Irvine (UCI)
DATE: July 6th, 2009
PLACE: USI Università della Svizzera italiana, room SI-006, Informatics building (Via G. Buffi 13)
TIME: 13.30

Except for the fact that they operate at run-time and use smaller compilation units, just-in-time compilers have otherwise been quite similar to traditional batch compilers: they all first construct a model (graph) of a program's control flow, which is then traversed while generating code.
My research group at UCI has been investigating an alternative technique in which the compiler never even attempts to build a complete control flow graph. Instead, our technique uses a novel (and patent pending) intermediate representation, the Trace Tree, which is constructed lazily on-demand while the program is simultaneously executed, incrementally compiled, and optimized.
Our compilation technique is surprisingly competitive at much lower implementation complexity. Our academic prototype Java compiler has been able to attain a performance similar to commercial production
compilers while using only about 1/7th of the memory footprint, 1/30th of the compile time, and 1/100th of the actual compiler size. Early experiments showed an even greater benefit for dynamically-typed languages such as JavaScript.
Our academic experiments are now being validated in one of the largest "real world" trials imaginable. Mozilla recently selected our Trace Tree compiler as the new JavaScript engine for Firefox 3.1, with an
expected 400 Million installations to come. Even in the current beta version, the Trace Tree compiler's JavaScript performance is a surprising 700% higher than that of FireFox's 3.0, and a staggering 15 times (1500%) faster than that of Internet Explorer. On the other hand, Google recently launched their Chrome browser, which uses a superbly well engineered but "traditional" control-flow based JavaScript compiler. As both browsers mature, the performance competition between them is likely to settle the question whether or not one should base future compilers on Trace Trees.
Michael Franz is a Professor of Computer Science in the Donald Bren School of Information and Computer Science at the University of California, Irvine (UCI) and has an additional courtesy appointment as a Professor of Electrical Engineering and Computer Science in the Henry Samueli School of Engineering. Franz received a Dr. sc. techn. degree in Computer Science (advised by Niklaus Wirth) and a Dipl. Informatik-Ing. degree, both from the Swiss Federal Institute of Technology, ETH Zurich.
HOST: Prof. Matthias Hauswirth

URL 1: