[GHC] #14461: Reuse free variable lists through nested closures

GHC ghc-devs at haskell.org
Tue Nov 14 10:29:47 UTC 2017


#14461: Reuse free variable lists through nested closures
-------------------------------------+-------------------------------------
           Reporter:  tdammers       |             Owner:  (none)
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:  7258
Differential Rev(s):                 |         Wiki Page:  NestedClosures
-------------------------------------+-------------------------------------
 Consider [wiki:NestedClosures] and [ticket:7258]; essentially, deeply
 nested closures exhibit quadratic compiler performance due to the fact
 that when allocating registers, each nesting level will have the compiler
 unpack the entire parent closure and then re-pack the variables into the
 child closure.

 To solve this, check if the parent closure can be carried along wholesale,
 and pull variables from there so that the repackaging can be bypassed.

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


More information about the ghc-tickets mailing list