Changes between Version 6 and Version 7 of Status/May12

May 9, 2012 2:26:16 PM (2 years ago)



  • Status/May12

    v6 v7  
    2222 * '''Type-level natural numbers''' (Iavor D) 
    24  * '''Windows x64 Support''' (Ian L) 
     24 * '''Windows x64 Support''' (Ian L).  The Industrial Haskell Group has funded work to implement 64bit Windows support in GHC. The port is now self-hosting and mostly complete, with just a number of bugs in the periphery to fix, and some logistics to work out. We expect a 64bit Windows installer to be included in the GHC 7.6 releases. 
    2626 * '''The new code generator''' (Simon M).  The glorious new code generator [6] has been an ongoing project for some time now.  The basic idea is to replace the pass of the compiler that converts from STG to Cmm (our internal C-- representation) with a more flexible framework consisting of two main passes: one that generates C-- without explicit stack manipulation, and a second pass that makes the stack explicit.  This will enable a host of improvements and optimisations in due course.  The new code generator uses the Hoopl framework for code analysis and rewriting [7].  Earlier this year I (Simon M) took over this project, and spent a lot of time optimising the existing framework and Hoopl itself.  I also rewrote the stack allocator, and made a number of simplifications.  The current state is that the new code generator produces code that is almost as good as the old one (and occasionally better), and is somewhat slower (roughly 15% slower compilation with -O).  The goal is to further improve on this, and I'm confident that we can generate better code in most cases than the old code generator.  I hope this can make it into 7.6.1, but no guarantees.