Download presentation
Presentation is loading. Please wait.
Published byDamian Howard Modified over 9 years ago
1
Chuck Mitchell Senior Architect, Phoenix Product Unit Microsoft Corporation
2
Review Goals Project Overview Project Status Why use Phoenix for Research? Engagement with UIUC/IMPACT
3
Provide industry leading compilation and tools infrastructure: “VC++ and.NET compilers and tools” Build research/development community around infrastructure: “the Phoenix Platform” Make the infrastructure scalable, configurable, and extensible: “JIT to WPO, compilation and analysis” Make the infrastructure quick to retarget and rehost
4
PhoenixInfrastructure.Net CodeGen Runtime JITs Pre-JIT OO and.Net optimizations Native CodeGen Advanced C++/OO Optimizations FP optimizations OpenMP, Concurrency Retargetable “Machine Models” ~3 months: -Od ~3 months: -O2 Chip Vendor CDK ~6 month ports Sample port + docs Key ports still done at msft Academic RDK Full sources (future) Managed API’s IP as DLLs Docs MSR & Partner Tools Built on Phoenix Managed API’s Both HL and LL API’s Program Analysis Program Rewrite MSR Adv Lang Language Research Direct xfer to Phoenix Research Insulated from code generation Analysis & Profiling Static Analysis Tools Profilers Defect Detection
5
DelphiCobol HL OptsLL OptsCode GenHL OptsLL Opts HL Opts Native Image C# Phoenix Core IR Syms Types FlowGraph RegionGraph Expressions SSA Simulation Dataflow Alias EH Readers Writers Basic Utilities Xlator Formatter Browser Phoenix Managed APIs Profiler Obfuscator Visuali zer Security Checker Refactor Lint VB C++ IL.NET assembly C++ C++AST PreFast Profile Eiffel C++ Phx AST Lex/Yacc Tiger Code Gen
6
CLR JIT CLR PreJITer VC++ VC++ BE The Phoenix Building Blocks Core Structures And Utilities High Level Optimizations Low Level Optimizations Machine Abstractions Dynamic Tools Locaity opts Static Tools Analysis
7
ProgramUnit or ModuleUnit (whole program) (single compiland) Symbol Table Instruction Stream Flow Graph Alias Info Type Table Region Graph Framework supports multi-threaded compilation at the function level. DataUnit Data Instrs FuncUnit DataUnit Exception Handling Info
8
START [p](1) ADD t1 END FuncUnit FirstInstr LastInstr VarOpnd p Handler Exception Handler LabelInstr MemOpnd LabelOpnd t1a ADD 1 ImmOpndVarOpnd Use/Def chaining for expression temp
9
Written in C++, usable by any.NET language Dual-Mode: Entire platform compiles to run native on top of Win32/64 or on top of.NET Phase & Plug-in model for third party extensions to: VC++ Compiler, Binary Reader/Writer, Analysis Tools, … Support for Multi-threaded clients Support for Code and Data extensibility A single, strongly typed, explicit dataflow/ control flow IR used throughout framework IR and Type system capable of processing native and/or managed code Strong inter-phase consistency checking Many diverse compilers and tools reuse the common core
10
We have transitioned from incubation to productization We created the Phoenix Product Unit with 60+ people We are delivering X64 build compiler for Win7 and VS10 We are delivering the platform for Developer Division static analysis tools (PREfast, FxCop, security checker, …)
11
X64 Code Quality at 93% of VS9, parity by 2H07, surpass in 1H08 Multi-threaded compiler on 8 cores up to 3.5X faster than VS9 today Interprocedural framework is coming on line now Profile guided optimizations coming on line (still the long pole) Building and running stress on 118 million lines of Windows code every night
12
Researchers should do research, not plumbing! Leverage production quality infrastructure, stop re-inventing the wheel Microsoft backed, we are betting our future on it, so you will be able to rely on it Research can be proven on by processing real world code (Windows, Office, …) Internal: Transfer of technology becomes simple and straight forward
13
Received proposal for funding late last year Original proposal was centered around bridging frameworks Phoenix/IMPACT Met with Wen-Mei and his staff to present Phoenix and review their current work The bulk of each students work was focused on supporting infrastructure, not research Conclusion: Rehost IMPACT on Phoenix and focus IMPACT staff on new research
14
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
15
Microsoft Research Faculty Summit 2007
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.