#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