[GHC] #1498: Optimisation: eliminate unnecessary heap check in recursive function

GHC cvs-ghc at haskell.org
Wed Feb 22 09:37:41 CET 2012


#1498: Optimisation: eliminate unnecessary heap check in recursive function
-------------------------------------------+--------------------------------
    Reporter:  simonmar                    |       Owner:                         
        Type:  bug                         |      Status:  new                    
    Priority:  low                         |   Milestone:  7.6.1                  
   Component:  Compiler                    |     Version:  6.6.1                  
    Keywords:                              |          Os:  Unknown/Multiple       
Architecture:  Unknown/Multiple            |     Failure:  Runtime performance bug
  Difficulty:  Moderate (less than a day)  |    Testcase:                         
   Blockedby:  4258                        |    Blocking:                         
     Related:                              |  
-------------------------------------------+--------------------------------

Comment(by simonmar):

 Max: note that I'm partway through a large overhaul of the new code
 generator, which you can find on the `newcg` branch of the GHC repo (you
 also need the `simonmar-hoopl-opt` branch of the `hoopl` repo).  In
 particular I fixed the `Bool_closure_tbl` problem you mentioned, and I've
 redone the stack allocator.

 I think probably the right way to approach this problem is for the heap
 check failure code to branch back to the beginning of the function, rather
 than the branch, to avoid turning the branch into a proc point and causing
 everything to get spilled to the stack.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1498#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the Glasgow-haskell-bugs mailing list