
#15403: Compact Regions with Lazy Evaluation -------------------------------------+------------------------------------- Reporter: andrewthad | Owner: (none) Type: feature request | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.4.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): Another problem is that we'd need to teach mutators to allocate in a compact region. Currently mutators only allocate in nurseries (with the exception that some primops can allocate large or pinned blocks etc.) and code generator generates code accordingly. I think a simple trick like "update Hp to point to the compact region, revert it back afterwards" would not work as because of lazy evaluation we'd have to update Hp when evaluating objects referenced by the thunk in the compact region and update again for any other object (not sure if this is possible to do). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15403#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler