[GHC] #8326: Place heap checks common in case alternatives before the case

GHC ghc-devs at haskell.org
Fri Oct 31 13:50:35 UTC 2014


#8326: Place heap checks common in case alternatives before the case
-------------------------------------+-------------------------------------
              Reporter:  jstolarek   |            Owner:  jstolarek
                  Type:  task        |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.7
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:              |       Blocked By:
  None/Unknown                       |  Related Tickets:  #1498
             Test Case:              |
              Blocking:  8317        |
Differential Revisions:  Phab:D343   |
-------------------------------------+-------------------------------------

Comment (by jstolarek):

 Yes, data dependencies are fine. My current patch actually does the things
 outlined above but without knot-tying. And it's buggy at the moment. I'll
 try to debug my patch and if that fails I'll try the approach you just
 described above but I admit I'm not too keen on it. The problem is that
 making `cgAlts` non-strict in `gc_plan` seems very non-trivial and seems
 to require *a lot* of changes in the structure of the code. By contrast,
 my patch is quite well localized and confined to a small area of code.

 > You probably need to allocate a label regardless since that is a monadic
 operation.

 I don't understand that bit.

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


More information about the ghc-tickets mailing list