写点什么

关注微软 Phoenix 项目

  • 2007-08-23
  • 本文字数:899 字

    阅读完需:约 3 分钟

Phoenix 开 始的时候是 Microsoft Research 部门的一个以构建编译器和代码分析工具的项目。起初是以一个研究开发工具包(RDK,Research Development Kit)面向教育机构发布的,但是现在它正准备发布给大部分社区。回到今年的二月份,微软的一个项目经理 Sarah Derstadt 曾将 Phoenix 声明为一个商业开发工具包(CDK,Commercial Development Kit):

Phoenix 在行业内的使用仍非常限于内部研究领域。在接下来的 6 个月里,Phoenix 团队将把这个 RDK/CDK 转换到我们的 SDK 中。这个 SDK 在我们将来发行 Visual Studio 的新版本的时候,会以一个 Beta 功能出现。

Kang Su 总结了 Phoenix 的简史

几年前,在 Visual C++ 开发编译器后端的时候(和我们今天做的非常类似),逐渐引起大家注意的一个地方是关于重定向后端来为新平台(比如 Itanium、CLR、 POWER、ARM 和后来的 X64 等)创建代码所产生的成本。处理这样的重定向是一个痛苦的过程,VC 团队的一个小团队意识到如果创建一个新的后端框架, 快速重定向到不同的平台,应该是很有价值的。

关于 VC++ 和 MSR(微软研究院)两个团队是如何结合的,Kang Su 说:

当时 MSR 里的一些有才华的人在做着一些关于世界上最高级的二进制重写和静态分析研究方面的工作。在很多组里都有类似的工作,但他们没有共享代码。当 MSR 了解到在 Visual C++ 团队里也有这么一个新的项目的时候,激发了他们的兴趣。最终,Visual C++、MSR 和 CLR 团队决定他们应该联合起来创建一个新的项目,它不仅能够快读重定向后端,还可作为项目迁移和分析的平台。

关于他们联姻后的成功,他总结到:

而且,团队还同意 Phoenix 应该作为微软的所有项目的代码生成平台。

七月份,微软发布了一个关于这个 SDK 的一个预发布版本。Phoenix 提供了许多实现通用中间表示法的构造块:

  • 块分析
  • 内存跟踪
  • 代码覆盖
  • 错误注射
  • 运行时切面和反馈
  • 预编译器
  • 实时编译器
  • 代码优化
  • 整个项目
  • 回退链接(Post-link)
  • 运行时

微软有意将他们目前已有的 25 个代码生成器整合到基于 Phoneix 的单一平台上。Phoenix 将来的震惊之处可能是它将透明性引入到了编译器和代码生成过程。这样,就打破了编译器为黑盒子的传统模型。

查看英文原文: Catching up with Phoenix

2007-08-23 03:481021

评论

发布
暂无评论
发现更多内容

区块链溯源有哪些优势?区块链产品溯源系统搭建

13530558032

服务器选择要注意什么?

德胜网络-阳

K8S CSI 容器存储接口 (二):如何编写一个CSI插件

silenceper

Kubernetes Kubernetes源码 CSI

谁说产品经理和程序员之间不能和平共处?

华为云开发者联盟

DevOps 产品经理 用户地图

Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合

比伯

Java 架构 面试 编程语言 计算机

【2020GET】即构科技蒋宁波:教育行业客户需求的核心是什么?

ZEGO即构

Mybatis日志功能是如何设计的?

Java架构师迁哥

很简单却能让你面试头疼得Java容器,这里从源码给你解释清楚

小Q

Java 学习 源码 容器 面试

全球至少有36家央行发布了央行数字货币计划

CECBC

数字货币

LeetCode题解:17. 电话号码的字母组合,回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

用FL Studio基础版制作一首完整的电音

奈奈的杂社

音乐制作 编曲 电音 电音制作 中国电音

第十周 模块分解 总结

三板斧

极客大学架构师训练营

K8S CSI容器存储接口(一):介绍以及原理

silenceper

Kubernetes CSI

架构师训练营 -week10-作业

大刘

极客大学架构师训练营

当艺术品遇上区块链:金丝楠木艺术品溯源

CECBC

区块链 溯源 艺术品

京东集团技术委员会主席周伯文:推进产业数智化发展需要技术和生态两把“桨”

京东科技开发者

区块链 大数据 AI 物联网,

.net5发布,.NET会就此“支棱起来”吗?

Philips

.net 敏捷开发 .net core

Linux笔记(一):基本命令

Leo

Linux 大前端 笔记

区块链赋能保险理赔,宁波开启“零感知理赔”试点

CECBC

区块链 保险理赔

区块链版权应用开发,区块链助力版权保护

13530558032

五年时间完成业务数字化转型,华为如今做得怎么样了?

华为云开发者联盟

效率 提升 数字化

私域流量运营03|衡量企业运营视频号的4个关键指标

Linkflow

客户数据平台 客户画像 视频号

美妆行业:低代码全域客户数据采集,赋能数据化运营

Linkflow

营销数字化 客户数据平台 CDP

使用sonar扫描svn中的代码后,没有作者或责任人信息

lee

svn 代码质量 sonar

从微服务应用于技术栈,了解华为云微服务应用

华为云开发者联盟

微服务 服务 云技术

淘宝直播技术干货:高清、低延时的实时视频直播技术解密

JackJiang

音视频 即时通讯 视频编码 直播技术

原理实践,全面讲解Logstash+Kibana+kafka

996小迁

Java 程序员 架构 面试

接口测试和功能测试的区别

测试人生路

软件测试

架构师训练营 1 期 - 第十周 - 模块分解

三板斧

极客大学架构师训练营

BitArray虽好,但请不要滥用,一次线上内存暴增排查

AI乔治

Java 架构 JVM 内存泄露

性能优化:线程资源回收

AI乔治

Java 架构 JVM 性能调优

关注微软Phoenix项目_.NET_James Vastbinder_InfoQ精选文章