Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/6d784c43592290ec16db8b7f0f2a012dff3ed497

>---------------------------------------------------------------

commit 6d784c43592290ec16db8b7f0f2a012dff3ed497
Author: Simon Marlow <marlo...@gmail.com>
Date:   Fri Nov 16 09:22:00 2012 +0000

    Add a write barrier for TVAR closures
    
    This improves GC performance when there are a lot of TVars in the
    heap.  For instance, a TChan with a lot of elements causes a massive
    GC drag without this patch.
    
    There's more to do - several other STM closure types don't have write
    barriers, so GC performance when there are a lot of threads blocked on
    STM isn't great.  But fixing the problem for TVar is a good start.

 includes/rts/storage/ClosureTypes.h |   37 +++++++++---------
 includes/stg/MiscClosures.h         |    3 +-
 rts/ClosureFlags.c                  |    5 +-
 rts/Exception.cmm                   |    2 +-
 rts/LdvProfile.c                    |    1 +
 rts/Linker.c                        |    3 +
 rts/PrimOps.cmm                     |    2 +-
 rts/Printer.c                       |   14 +++++++
 rts/ProfHeap.c                      |    3 +-
 rts/RetainerProfile.c               |    5 ++-
 rts/STM.c                           |   63 ++++++++++++++++++------------
 rts/STM.h                           |    2 +-
 rts/Schedule.c                      |    2 +-
 rts/StgMiscClosures.cmm             |    7 ++-
 rts/sm/Compact.c                    |    1 +
 rts/sm/Evac.c                       |   12 ++---
 rts/sm/GC.c                         |   22 +++++++++-
 rts/sm/GC.h                         |    8 +++-
 rts/sm/Sanity.c                     |    1 +
 rts/sm/Scav.c                       |   73 +++++++++++++++++++++++++++++++++--
 rts/sm/Storage.c                    |    9 ++++
 rts/sm/Storage.h                    |    3 +-
 22 files changed, 209 insertions(+), 69 deletions(-)


Diff suppressed because of size. To see it, use:

    git show 6d784c43592290ec16db8b7f0f2a012dff3ed497

_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to