#947: ghc -O space leak: CSE between different CAFs
-----------------------------+----------------------------------------------
    Reporter:  int-e@…       |       Owner:              
        Type:  bug           |      Status:  new         
    Priority:  normal        |   Milestone:  _|_         
   Component:  Compiler      |     Version:  6.5         
    Keywords:                |          Os:  Linux       
Architecture:  x86           |     Failure:  None/Unknown
  Difficulty:  Unknown       |    Testcase:              
   Blockedby:                |    Blocking:              
     Related:                |  
-----------------------------+----------------------------------------------
Changes (by michalt):

  * failure:  => None/Unknown


Comment:

 Unless I'm missing something, I think there is a simple way to avoid doing
 CSE
 on recursive types (in the sense of ```isRecursiveTyCon```) -- one can
 simply
 avoid adding variables with such types to the CSE mapping (see attached
 patch).
 The problem here is that, according to nofib, this limits CSE quite a bit
 and
 hurts code size. Another possibility (although quite ugly) would be to
 limit the
 above to lists -- they are probably the main source of space leaks cause
 by
 CSE..

 The patch "almost" validates -- the 5644 fails. Apparently the test is
 based on
 the assumption that the program overflows heap, which does not happen with
 the
 patch. I'm not sure what 5644 actually tests and so don't really know how
 to
 fix it.

 So all in all, I'm not sure if this patch is worth it. What do you think?

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

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to