[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