[GHC] #12455: Compact Regions

GHC ghc-devs at haskell.org
Wed Aug 3 16:05:04 UTC 2016


#12455: Compact Regions
-------------------------------------+-------------------------------------
           Reporter:  simonmar       |             Owner:  simonmar
               Type:  task           |            Status:  new
           Priority:  high           |         Milestone:  8.2.1
          Component:  Runtime        |           Version:  8.1
  System                             |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I'm going to use this task to keep track of what we still need to do
 around compact regions before 8.2.1, and so I have somewhere to hang
 diffs.

 Here's the current ToDo list:

 * compaction should be interruptible by GC, otherwise we block a
 multithreaded program while compacting (I know how to do this and have a
 prototype, just need to finish it).
 * Make it work with profiling
 * We should have an API that doesn't require specifying a size, just
 `compact :: NFData a => a -> IO (Compact a)`
 * libraries/compact/tests failures with `EXTRA_HC_OPTS="-debug -with-
 rtsopts=-DS"`
 * Do we need both `totalW` and `totalDataW`?  It looks like one of them is
 redundant to me.
 * What happens if we try to compact something that refers to a large
 block?  One larger than a megablock?
 * Improve comments

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


More information about the ghc-tickets mailing list