Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Optimization and Analysis Framework Phoenix By Joel Messer.

Similar presentations


Presentation on theme: "Software Optimization and Analysis Framework Phoenix By Joel Messer."— Presentation transcript:

1 Software Optimization and Analysis Framework Phoenix By Joel Messer

2 Developers Developed by Microsoft in Redmond, WA Academic Program –Launched in 2003 –Provided researchers with early access to the latest compiler technology Phoenix RDK (Research Development Kit) –Core of the program –Launched in Sept. 2003 –Contains the Phoenix framework, samples and API documentation

3 Phoenix Layout

4 Source Languages Developed to read –Binary Code –CIL used in Microsoft’s CLR –Microsoft’s C++ frontend Readers can also be written to create an intermediate from for Phoenix. –Lex / Yacc (Abstract Syntax Tree)

5 Architectures Analysis and code generation through Phoenix can target a particular hardware architecture. Optimizations and more tools are the selected based on that architecture. Current –x86 Future –x64 –ia64 –arm –ppc

6 Phases

7 View inside Phoenix-Based C2 AST HIR MIRLIREIR CIL Reader Type Checker MIR Lower SSA Const SSA Dest Canon Addr Modes Lower Reg Alloc EH Lower Stack Alloc Frame Gen Switch Lower Block Layout Flow Opts Encode Lister C2C1 CILCIL SOURCESOURCE OBJECTOBJECT From Andy Ayers Microsoft Phoenix

8 Phoenix Architecture

9 Uses

10 Strengths Accepts a general IR form from the front end Modular optimizations –25-30 optimization phases built in. –Can also add additional DLLs for optimizations Program analysis tools Code Injection –into.net assemblies –native code Simple Plug-ins Made backend compiler’s programmable

11 Weaknesses Unable to optimize the JIT compiler Still in development stages Only truly directed towards x86 –Possible to adjust it for other architectures fairly quickly (less than 6 months)

12 Usage in the Real World Shipping the RDK –200 downloads worldwide Well received –Number of papers published using Phoenix About a dozen research grants given to various universities

13 Goals Agile Development Sprints Rebuild the Windows OS with Phoenix –slowly turning on more and more optimizations –Current in use with Vista x64 JIT compilers

14 Questions?


Download ppt "Software Optimization and Analysis Framework Phoenix By Joel Messer."

Similar presentations


Ads by Google