Sat Jan  9 05:33:30 PST 2010  Ian Lynagh <[email protected]>
  * MERGED: Fix #650: use a card table to mark dirty sections of mutable arrays
  Simon Marlow <[email protected]>**20091217224228
   Ignore-this: 75c354682c9ad1b71b68b5bc4cedd6de
   The card table is an array of bytes, placed directly following the
   actual array data.  This means that array reading is unaffected, but
   array writing needs to read the array size from the header in order to
   find the card table.
   
   We use a bytemap rather than a bitmap, because updating the card table
   must be multi-thread safe.  Each byte refers to 128 entries of the
   array, but this is tunable by changing the constant
   MUT_ARR_PTRS_CARD_BITS in includes/Constants.h.

    M ./compiler/codeGen/CgPrimOp.hs -2 +14
    M ./includes/Cmm.h +3
    M ./includes/HaskellConstants.hs +3
    M ./includes/mkDerivedConstants.c +1
    M ./includes/rts/Constants.h +7
    M ./includes/rts/storage/ClosureMacros.h -1 +29
    M ./includes/rts/storage/Closures.h +2
    M ./rts/PrimOps.cmm -6 +24
    M ./rts/Weak.c -2 +9
    M ./rts/sm/Scav.c -52 +121

View patch online:
http://darcs.haskell.org/ghc-6.12/ghc/_darcs/patches/20100109133330-3fd76-66ae865f7e8a33e3e4e86aff4c80439d59f9cdf2.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to