#5203: Stack overflow in criterion
---------------------------------+------------------------------------------
    Reporter:  rl                |        Owner:  simonpj      
        Type:  bug               |       Status:  new          
    Priority:  normal            |    Milestone:  7.2.1        
   Component:  Compiler          |      Version:  7.1          
    Keywords:                    |     Testcase:               
   Blockedby:                    |   Difficulty:               
          Os:  MacOS X           |     Blocking:               
Architecture:  Unknown/Multiple  |      Failure:  Runtime crash
---------------------------------+------------------------------------------
Changes (by igloo):

 * cc: bos@… (added)
  * owner:  igloo => simonpj
  * priority:  highest => normal


Comment:

 OK, I don't think this is actually a GHC bug at all.

 When it works, we get code like this:
 {{{
 $wfoldlM_loop_s1u9 =
     \ [...] ->
     case [...] {
         [...] ->
             $wfoldlM_loop_s1u9 [...evaluated things...]
     }
 }}}
 and when it doesn't, we get code like this:
 {{{
 foldlM_loop_s1uP =
     \ [...] ->
     foldlM_loop_s1uP
         (case [...] { [...] -> [...] })
 }}}
 i.e. we are passing a thunk to the recursive call.

 The problem, as far as I can see, is simply that
 `Criterion.Analysis.classifyOutliers` calls `U.foldl` rather than
 `U.foldl'`.

 Simon, I'm assigning to you in case you want to take a look at why GHC now
 produces different code, but otherwise we can just close the ticket.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5203#comment:6>
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