Personal tools
You are here: Home Events ICSA Colloquium Talk

ICSA Colloquium Talk

— filed under:

Recent Advances in Compiler Research - Firefox's TraceMonkey and Beyond. Prof Michael Franz, University of California

  • Colloquium Series
When Feb 17, 2011
from 02:00 PM to 03:00 PM
Where 4.31/4.33
Add event to calendar vCal

Common to practically all compilers built over the past 50 years has been the concept of the "control flow graph", a model of a program that a complier builds and then traverses while generation target code. Even just-in-time and embedded compliers use such control flow graphs, although they tend to make the unit of compilation smaller than traditional batch compliers (e.g., one method at a time rather than one class at a time).

Trace Compilation, to which we have made significant contributions, represents a radical departure from this long established convention. A novel intermediate representation, the Trace Tree, is constructed lazily on-demand while the program is simultaneously executed, incrementally complied, and optimized. The advantage of this technique is that the complier doesn't expend any resources on parts of the program that are not frequently executed; traditional compliers construct control-flow graphs for unimportant and even for unreachable parts of a program and need to prune such graphs later.

Our specific approach to trace compilation is now in the process of being adopted widely across and beyond academia. Working with the Mozilla foundation, we incorporated our technique into the Firefox browser, starting with version 3.5. By incorporating our invention, Mozilla was able to raise Firefox's JavaScript performance by a surprising factor of 7. Our Trace Compilation technique is now being used daily by several hundred million users around the globe. Other groups of researchers that are now using trace compilation include Oracle, Adobe, Google and Microsoft and we are collaboration with several of these projects.


Bio: Prof Michael Franz is a Professor of Computer Science in UCI's Donald Bren School of Information and Computer Sciences, a Professor of Electrical Engineering and Computer Science (by courtesy) in UCI's Henry Samueli School of Engineering, and the director of UCI's Secure System and Software Laboratory. He is currently also a visiting Professor of Informatics at ETH Zurich, the Swiss Federal Institute of Technology, from which he previously received the Dr. sc. techn. (advisor: Niklaus Worth) and the Dipl. Informatik-Ing. ETH degrees.



Document Actions