Miniphases: Compilation using Modular and Efficient Tree Transformations
Production compilers commonly perform dozens of transformations on an intermediate representation. Running those transformations in separate passes harms performance. One approach to recover performance is to combine transformations by hand in order to reduce number of passes. Such an approach harms modularity, and thus makes it hard to maintain and evolve a compiler over the long term, and makes reasoning about performance harder. This paper describes a methodology that allows a compiler writer to define multiple transformations separately, but fuse them into a single traversal of the intermediate representation when the compiler runs. This approach has been implemented in a compiler for the Scala language. Our performance evaluation indicates that this approach reduces the running time of tree transformations by 35% and shows that this is due to improved cache friendliness. At the same time, the approach improves total memory consumption by reducing the object tenuring rate by 50%. This approach enables compiler writers to write transformations that are both modular and fast at the same time.
Mon 19 Jun Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:40: Language ImplementationPLDI Research Papers at Actes, Civil Engineering Chair(s): David F. BaconGoogle | |||
14:00 - 14:25 Talk | Bringing the Web up to Speed with WebAssembly PLDI Research Papers Andreas HaasGoogle, Andreas RossbergGoogle, Derek SchuffGoogle, Ben L. TitzerGoogle, Dan GohmanMozilla, Luke WagnerMozilla, Alon ZakaiMozilla, JF BastienApple, Michael HolmanMicrosoft Media Attached | ||
14:25 - 14:50 Talk | Miniphases: Compilation using Modular and Efficient Tree Transformations PLDI Research Papers Media Attached | ||
14:50 - 15:15 Talk | Proactive and Adaptive Energy-Aware Programming with Mixed Typechecking PLDI Research Papers Media Attached | ||
15:15 - 15:40 Talk | Simple, fast and safe manual memory management PLDI Research Papers Piyus KediaIndian Institute of Technology Delhi, Manuel CostaMicrosoft Research, Matthew ParkinsonMicrosoft Research, UK, Kapil VaswaniMicrosoft Research, Dimitrios VytiniotisMicrosoft Research, Cambridge Media Attached |