
#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 simonpj): Well, of course the plumbing would need to change a bit. `cgAlts` would have to return something saying which branches allocated. The difficulty is that at the moment the `gc_plan` flag is passed ''into'' `cgAlts` whereas now we are proposing that the plan will depend on something ''returned'' by `cgAlts`. That might be ok, if we tied a recursive knot, provided `cgAlts` was sufficiently lazy in its "plan" parameter. More than that I cannot say without looking a lot harder at the code, something you can do just as well as I, perhaps better. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8326#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler