simonmar    2005/05/10 06:25:43 PDT

  Modified files:
    ghc/includes         Cmm.h Regs.h Rts.h SMP.h 
                         StgMiscClosures.h Storage.h 
    ghc/rts              Capability.c Capability.h GC.c Makefile 
                         PrimOps.cmm StgMiscClosures.cmm Storage.c 
  Log:
  Two SMP-related changes:
  
    - New storage manager interface:
  
      bdescr *allocateLocal(StgRegTable *reg, nat words)
  
      which allocates from the current thread's nursery (being careful
      not to clash with the heap pointer).  It can do this without
      taking any locks; the lock only has to be taken if a block needs
      to be allocated.  allocateLocal() is now used instead of allocate()
      in a few PrimOps.
  
      This removes locks from most Integer operations, cutting down
      the overhead for SMP a bit more.
  
      To make this work, we have to be able to grab the current thread's
      Capability out of thin air (i.e. when called from GMP), so the
      Capability subsystem needs to keep a hash from thread IDs to
      Capabilities.
  
    - Small MVar optimisation: instead of taking the global
      storage-manager lock, do our own locking of MVars with a bit of
      inline assembly (x86 only for now).
  
  Revision  Changes    Path
  1.11      +4 -1      fptools/ghc/includes/Cmm.h
  1.20      +2 -1      fptools/ghc/includes/Regs.h
  1.34      +0 -5      fptools/ghc/includes/Rts.h
  1.7       +26 -49    fptools/ghc/includes/SMP.h
  1.59      +2 -0      fptools/ghc/includes/StgMiscClosures.h
  1.14      +4 -0      fptools/ghc/includes/Storage.h
  1.38      +30 -0     fptools/ghc/rts/Capability.c
  1.20      +4 -0      fptools/ghc/rts/Capability.h
  1.193     +6 -1      fptools/ghc/rts/GC.c
  1.106     +2 -1      fptools/ghc/rts/Makefile
  1.25      +34 -46    fptools/ghc/rts/PrimOps.cmm
  1.6       +6 -0      fptools/ghc/rts/StgMiscClosures.cmm
  1.97      +126 -43   fptools/ghc/rts/Storage.c
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to