Unformatted text preview:

Slide 1DevelopersPhoenix LayoutSource LanguagesArchitecturesPhasesView inside Phoenix-Based C2Phoenix ArchitectureUsesStrengthsWeaknessesUsage in the Real WorldGoalsQuestions?Software Optimization and Analysis Framework PhoenixBy Joel MesserDevelopers•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 documentationPhoenix LayoutSource 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)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–ppcPhasesView inside Phoenix-Based C2ASTHIRMIR LIR EIRCIL ReaderType CheckerMIR LowerSSA ConstSSA DestCanonAddr ModesLowerReg AllocEH LowerStack AllocFrame GenSwitch LowerBlock LayoutFlow OptsEncodeListerC2C1CILSOURCEOBJECTFrom Andy AyersMicrosoft PhoenixPhoenix ArchitectureUsesStrengths•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 programmableWeaknesses•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)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 universitiesGoals•Agile Development •Sprints •Rebuild the Windows OS with Phoenix–slowly turning on more and more optimizations–Current in use with Vista•x64 JIT


View Full Document

UD CISC 471 - Phoenix

Download Phoenix
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Phoenix and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Phoenix 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?