Lambda the Ultimate

inactiveTopic Microsoft Forges Ahead With New Compiler Technology
started 7/23/2003; 12:59:46 PM - last post 7/25/2003; 2:20:10 PM
Ehud Lamm - Microsoft Forges Ahead With New Compiler Technology  blueArrow
7/23/2003; 12:59:46 PM (reads: 1782, responses: 5)
Microsoft Forges Ahead With New Compiler Technology
Next week, Microsoft plans to offer an update on new compiler technology that is being co-developed by the company's Programmer Productivity Research Center (PPRC) and the company's developer tools division.

From the Phoenix web site:

The basic Phoenix framework is an extensible system that can be adapted to read and write binaries and MSIL assemblies, represent the input files in an IR which can be analyzed and manipulated by applications by using the Phoenix API and then the code can be written in binary, or JITable form for execution.

The Research Development Kit (RDK) may prove to be interesting. If you are into that sort of thing, you may want to take a look at the tool ideas presented in the Phoenix presentation (ppt).

Judging from the last couple of days we are quickly becoming a Microsoft firendly blog. Let's hope we can keep our objectivity...


Posted to implementation by Ehud Lamm on 7/23/03; 1:05:36 PM

Wouter van Oortmerssen - Re: Microsoft Forges Ahead With New Compiler Technology  blueArrow
7/24/2003; 1:05:31 AM (reads: 585, responses: 1)
I'd be curious to hear what new optimisation are in this that are not in their current compilers (more advanced alias analysis perhaps?) and how they think it stacks up against current compilers.

Ehud Lamm - Re: Microsoft Forges Ahead With New Compiler Technology  blueArrow
7/24/2003; 1:09:31 AM (reads: 618, responses: 0)
I was wondering about that myself...

Mitchell N Charity - Re: Microsoft Forges Ahead With New Compiler Technology  blueArrow
7/24/2003; 6:52:28 AM (reads: 540, responses: 2)
The emphasis seems to be (google image-free version of ppt) on flexibility and breadth.

To paraphrase: - a framework - for optimization and analysis - of many forms of binaries - easily retargeted - extensible IR - replaceable major passes - accessible(?) code analysis

So, what optimizations not in their current compilers? Well, in theory, just think of every time you've heard in an compiler talk, or hit your head on, one of these lines... "you'd need to extend the IR, but can't", "that information isn't still available at that point", "yes the compiler is doing that analysis, but there's no way to get the information out", "to (make that minor change) all you have to do is reimplement (large chunk of compiler) from scratch (with no help from the existing implementation)", "mumble domain knowledge mumble", and so on.

All other optimizations aside... Java put an end to decades of having "the GC conversation". Maybe M$'s Phoenix will finally bury the "compilers should be tool libraries, not black-hole dead-end point solutions" conversation? Oh that would be so nice.

Ken Meltsner - Re: Microsoft Forges Ahead With New Compiler Technology  blueArrow
7/25/2003; 12:12:20 PM (reads: 475, responses: 1)
BEA's also discovered the pleasures of an extensible language framework with their Javelin system. From their site:

"...Javelin is written entirely in Java. It translates language specifications into Java source code, making it dramatically easier to integrate new languages with an existing Java platform. For example, you could use Javelin to compile languages like XSLT, XQuery, XML Schema, JavaScript, PHP, JSP and many others into Java byte code. "

Isaac Gouy - Re: Microsoft Forges Ahead With New Compiler Technology  blueArrow
7/25/2003; 2:20:10 PM (reads: 507, responses: 0)
Javelin (seems /javelin isn't enough, we need /javelin/ )