l9-handout

l9-handout - Lecture 9 Dynamic Compilation I.! Motivation...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
Advanced Compilers L9. Dynamic Compilation Lecture 9 Dynamic Compilation I. Motivation & Background II. Overview III. Compilation Policy IV. Partial Method Compilation V. Partial Dead Code Elimination VI. Escape Analysis VII. Results “Partial Method Compilation Using Dynamic Profile Information”, John Whaley, OOPSLA 01 M. Lam & J. Whaley Advanced Compilers L9. Dynamic Compilation I. Goals of This Lecture • Beyond static compilation • Example of a complete system • Use of data flow techniques in a new context • Experimental approach
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Advanced Compilers L9. Dynamic Compilation Static/Dynamic • Compiler: high-level ! binary, static • Interpreter: high-level, emulate, dynamic • Dynamic compilation: high-level ! binary, dynamic – machine-independent, dynamic loading – cross-module optimization – Specialize program using runtime information (without profiling) Advanced Compilers L9. Dynamic Compilation High-Level/Binary • Binary translator: Binary-binary; mostly dynamic – Run “as-is” – Software migration (x86 ! alpha, sun, transmeta; 68000 ! powerPC ! x86) – Virtualization (make hardware virtualizable) – Dynamic optimization (Dynamo Rio) – Security (execute out of code in a cache that is “protected”)
Background image of page 2
L9. Dynamic Compilation Closed-world vs. Open-world • Closed-world assumption (most static compilers) – All code is available a priori for analysis and compilation. • Open-world assumption (most dynamic compilers) – Code is not available; arbitrary code can be loaded at run time. • Open-world assumption precludes many optimization opportunities. – Solution: Optimistically assume the best case, but provide a way out if necessary. Advanced Compilers L9. Dynamic Compilation II. Overview in Dynamic Compilation • Interpretation/Compilation policy decisions – Choosing what and how to compile • Collecting runtime information – Instrumentation – Sampling • Exploiting runtime information – frequently-executed code paths
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 03/12/2012.

Page1 / 14

l9-handout - Lecture 9 Dynamic Compilation I.! Motivation...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online