The compiler gurus over in C++ World (we spend a lot of time in building 41) have just released the latest CTP of the Phoenix Compiler Framework. It's been a while since we've learned about Phoenix here on Channel 9 so we thought it necessary to find out what's going on with the soon-to-be de facto compiler technology for all of Microsoft's products. Andy Ayers is an Architect on the Phoenix team. He sits down with us to dig into the details of Phoenix and address it's current state, history and future (no whiteboarding here, but this is still quite deep. There is a cool demo at the end of the interview.) . It's very interesting to note that the Phoenix team has tested the scalability and power of their pluggable (extensible) compiler framework on the likes of Windows. Turns out Phoenix handles such a large task (compiling Windows) very well. This new compiler technology has been designed with many-core in mind. This means Phoenix is our most parallelized compiler which adds up to shorter compilation time. As usual, the C++ team is ahead of the curve when it comes to preparing for the concurrent future.Tune in and learn all about the future of Microsoft's compiler technology from one of the minds behind it all. The future is very bright indeed! Enjoy!Low res version here.
GamlerHart wrote:This "show-me-the-path-of-the-variable-setting" is REALLY cool. How many time you've debuged the same small function, because you got another value than expected. With this feature, you can quickly see it, without re-running the function. You've an overview how you landed at the state you're now in.Sadly, I'm not really in the C++/native word, but in the Java / Managed World.
One of the cool things about Phoenix is that it blurs the line between managed and native code in a number of interesting ways.So, if you're into managed code, you'll be happy to hear that the dynamic slice tool works on managed code too.
staceyw wrote: GamlerHart wrote: This "show-me-the-path-of-the-variable-setting" is REALLY cool. How many time you've debuged the same small function, because you got another value than expected. With this feature, you can quickly see it, without re-running the function. You've an overview how you landed at the state you're now in.Sadly, I'm not really in the C++/native word, but in the Java / Managed World. I like that too. And ability to Step backwards and reverse the state would be so cool.Look forward to new compiler in the product. Thanks much folks.BTW - small correction. The managed class is "StringBuilder" (not stringbuffer).
GamlerHart wrote: This "show-me-the-path-of-the-variable-setting" is REALLY cool. How many time you've debuged the same small function, because you got another value than expected. With this feature, you can quickly see it, without re-running the function. You've an overview how you landed at the state you're now in.Sadly, I'm not really in the C++/native word, but in the Java / Managed World.
AndyC wrote:The raising an executable to IR sounds very interesting. Presumably this could allow you to migrate executables to another CPU architecture (much like Rosetta in MacOS) if that ever became an issue for Windows.