[GHC] #3462: New codegen: allocate large objects using allocateLocal()

GHC trac at galois.com
Tue Aug 25 04:48:43 EDT 2009


#3462: New codegen: allocate large objects using allocateLocal()
-------------------------------+--------------------------------------------
  Reporter:  simonmar          |          Owner:                  
      Type:  task              |         Status:  new             
  Priority:  normal            |      Milestone:  6.14.1          
 Component:  Compiler          |        Version:  6.11            
  Severity:  normal            |       Keywords:                  
Difficulty:  Unknown           |       Testcase:                  
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
-------------------------------+--------------------------------------------
 See #3424.

 In the new code generator, we should allocate large objects (larger than F
 * block size, for some suitable fraction F) using the RTS
 `allocateLocal()` API rather than from the nursery.  It works to allocate
 them from the nursery -- this is what GHC 6.12 does after the fix in #3424
 -- but then they will not be treated as large objects and will be copied
 during GC.  Also, the allocation is likely to fail, requiring a trip
 through the RTS to put a large enough block in the nursery to satisfy the
 allocation.

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


More information about the Glasgow-haskell-bugs mailing list