[GHC] #8585: Loopification should omit stack check

GHC ghc-devs at haskell.org
Sun Dec 1 10:15:51 UTC 2013


#8585: Loopification should omit stack check
------------------------------+--------------------------------------------
       Reporter:  jstolarek   |             Owner:
           Type:  bug         |            Status:  new
       Priority:  normal      |         Milestone:
      Component:  Compiler    |           Version:  7.7
       Keywords:              |  Operating System:  Unknown/Multiple
   Architecture:              |   Type of failure:  Runtime performance bug
  Unknown/Multiple            |         Test Case:
     Difficulty:  Unknown     |          Blocking:
     Blocked By:              |
Related Tickets:              |
------------------------------+--------------------------------------------
 When we optimize a self-recursive tail call using loopification we don't
 need to perform a stack check in every loop. This is because a tail
 recursive function uses constant amount of stack. We should therefore
 place the loop header after the stack check, but before the heap check
 (because heap may grow in every call).

 parcs proposed a patch
 [https://ghc.haskell.org/trac/ghc/ticket/8275#comment:34 here]. We just
 need to make sure why it works and add some documentation.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8585>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list