#3941: GC: excess of reserved space for bitmaps in case of mark/compact/sweep
---------------------------------+------------------------------------------
    Reporter:  gabrielrf         |       Owner:                
        Type:  bug               |      Status:  new           
    Priority:  normal            |   Component:  Runtime System
     Version:  6.10.4            |    Keywords:                
          Os:  Unknown/Multiple  |    Testcase:                
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown  
---------------------------------+------------------------------------------
 No malfunction involved.

 in GC.c, function init_collected_gen(..)

 (for generation_steps; if stp->mark)

 allocation

 bitmap_size = stp->n_old_blocks * (BLOCK_SIZE /
 (sizeof(W_)*BITS_PER_BYTE))

 while block bitmap space is assigned (correctly I think) in increments of

 bitmap += BLOCK_SIZE_W / (sizeof(W_)*BITS_PER_BYTE);

 so BLOCK_SIZE_W should replace BLOCK_SIZE in bitmap_size calculation for
 allocation.

 it will result in a gain of (sizeof(W_) -1) * BLOCK_SIZE_W /
 (sizeof(W_)*BITS_PER_BYTE) per block

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3941>
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