Changes between Version 8 and Version 9 of Status/May13


Ignore:
Timestamp:
Apr 15, 2013 3:04:19 AM (12 months ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/May13

    v8 v9  
    2222  * overlapping type families ['''Richard Eisenberg'''] 
    2323 
    24   * '''The new code generator.''' [entry copied from Oct 2012 status report] Several years since this project was started, the new code generator is finally working  [14], and is now switched on by default in `master`.  It will be in GHC 7.8.1.  From a user's perspective there should be very little difference, though some programs will be faster. 
     24  * '''The new code generator.''' [entry copied from Oct 2012 status report] Several years since this project was started, the new code generator is finally working  [1], and is now switched on by default in `master`.  It will be in GHC 7.8.1.  From a user's perspective there should be very little difference, though some programs will be faster. 
    2525 
    2626 There are three important improvements in the generated code.  One is that `let-no-escape` functions are now compiled much more efficiently: a recursive `let-no-escape` now turns into a real loop in C--.  The second improvement is that global registers (R1, R2, etc.) are now available for the register allocator to use within a function, provided they aren't in use for argument passing.  This means that there are more registers available for complex code sequences.  The third improvement is that we have a new sinking pass that replaces the old "mini-inliner" from the native code generator, and is capable of optimisations that the old pass couldn't do. 
     
    3939 
    4040There remains more to do than we will ever have time for, so please do come and join in the fun! 
     41 
     42[1] The new codegen is nearly ready to go live [http://hackage.haskell.org/trac/ghc/blog/newcg-update] [[BR]]