#650: Improve interaction between mutable arrays and GC
-----------------------------------------+----------------------------------
  Reporter:  simonmar                    |          Owner:                  
      Type:  bug                         |         Status:  new             
  Priority:  normal                      |      Milestone:  _|_             
 Component:  Runtime System              |        Version:  6.4.1           
Resolution:                              |       Keywords:                  
Difficulty:  Moderate (less than a day)  |             Os:  Unknown/Multiple
  Testcase:                              |   Architecture:  Unknown/Multiple
   Failure:  Runtime performance bug     |  
-----------------------------------------+----------------------------------
Comment (by morrow):

 One other possible method to deal with this is to make old-generation
 pages containing mutable array data read-only via mprotect (or
 equivalent). Any later write will then cause a SIGSEGV, which is caught by
 an installed signal handler which then unprotects that page and marks it
 as dirty (however this needs to be done). A benefit of this is that any
 future writes to that page need no write barrier. Some limitations of this
 are that this reserves the SIGSEGV handler for the RTS, and this can only
 provide PAGE_SIZE granularity (which for large arrays is nevertheless a
 large improvement). What are people's thoughts on this? Is this (or some
 variation on this) an option given GHC's RTS?

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/650#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to