software optimization and analysis framework l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Optimization and Analysis Framework PowerPoint Presentation
Download Presentation
Software Optimization and Analysis Framework

Loading in 2 Seconds...

play fullscreen
1 / 14

Software Optimization and Analysis Framework - PowerPoint PPT Presentation


  • 152 Views
  • Uploaded on

Software Optimization and Analysis Framework . Phoenix. By Joel Messer. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Optimization and Analysis Framework' - dante


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
developers
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
source languages
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)
architectures
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
view inside phoenix based c2
View inside Phoenix-Based C2

S

O

U

R

C

E

O

B

J

E

C

T

CI

L

HIR

AST

MIR

LIR

EIR

CIL Reader

Type Checker

MIR LowerSSA Const

SSA Dest

Canon

Addr Modes

Lower

Reg Alloc

EH Lower

Stack Alloc

Frame Gen

Switch Lower

Block Layout

Flow Opts

Encode

Lister

C1

C2

From Andy Ayers

Microsoft Phoenix

strengths
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
weaknesses
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)
usage in the real world
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
goals
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