1. 12 Jan, 2010 1 commit
  2. 08 Jan, 2010 1 commit
  3. 24 Dec, 2009 1 commit
  4. 23 Dec, 2009 1 commit
  5. 18 Dec, 2009 2 commits
    • simonpj@microsoft.com's avatar
      Add comments about double bounds-checking, and fast paths for rectangular arrays · b6b3de1c
      simonpj@microsoft.com authored
      See Note [Double bounds-checking of index values] for the details.
      
      The fast paths omit the doubled checks for cases we know about
      b6b3de1c
    • simonpj@microsoft.com's avatar
      Fix Trac #3245: memoising typeOf · 0dd0cce2
      simonpj@microsoft.com authored
      The performance bug in #3245 was caused by computing the typeRep
      once for each call of typeOf, rather than once for each dictionary
      contruction.  (Computing TypeReps is reasonably expensive, because
      of the hash-consing machinery.)
      
      This is readily fixed by putting the TypeRep construction outside
      the lambda.  (Arguably GHC might have worked that out itself,
      but it involves floating something between a type lambda and a
      value lambda, which GHC doesn't currently do. If it happens a lot
      we could fix that.)
      0dd0cce2
  6. 16 Dec, 2009 1 commit
  7. 06 Dec, 2009 1 commit
  8. 05 Dec, 2009 2 commits
  9. 02 Dec, 2009 1 commit
  10. 30 Nov, 2009 1 commit
  11. 01 Dec, 2009 1 commit
  12. 25 Nov, 2009 2 commits
  13. 26 Nov, 2009 2 commits
  14. 25 Nov, 2009 3 commits
  15. 24 Nov, 2009 5 commits
  16. 23 Nov, 2009 9 commits
  17. 11 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Second attempt to fix #1185 (forkProcess and -threaded) · e5b04f81
      Simon Marlow authored
      Patch 2/2: first patch is to ghc
      
      This time without dynamic linker hacks, instead I've expanded the
      existing rts/Globals.c to cache more CAFs, specifically those in
      GHC.Conc.  We were already using this trick for signal handlers, I
      should have realised before.
      
      It's still quite unsavoury, but we can do away with rts/Globals.c in
      the future when we switch to a dynamically-linked GHCi.
      e5b04f81
  18. 06 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Rollback #1185 fix · 429156a9
      Simon Marlow authored
      rolling back:
      
      Tue Nov  3 16:05:40 GMT 2009  Simon Marlow <marlowsd@gmail.com>
        * Fix #1185: restart the IO manager after fork()
        
        This is the libraries/base part of the patch; there is a corresponding
        patch to GHC itself.
        
        The main change is that we now keep track of the IO manager's ThreadId
        in a top-level MVar, and ensureIOManagerIsRunning checks whether a
        previous IO manager thread is alive before starting one.  In the child
        of fork(), we can hence call ensureIOManagerIsRunning to restart the
        IO manager.
      
          M ./GHC/Conc.lhs -46 +44
      
      Wed Nov  4 17:49:45 GMT 2009  Ian Lynagh <igloo@earth.li>
        * Fix the build on Windows
      
          M ./GHC/Conc.lhs -6 +4
      429156a9
  19. 04 Nov, 2009 1 commit
  20. 03 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Fix #1185: restart the IO manager after fork() · 23939c64
      Simon Marlow authored
      This is the libraries/base part of the patch; there is a corresponding
      patch to GHC itself.
      
      The main change is that we now keep track of the IO manager's ThreadId
      in a top-level MVar, and ensureIOManagerIsRunning checks whether a
      previous IO manager thread is alive before starting one.  In the child
      of fork(), we can hence call ensureIOManagerIsRunning to restart the
      IO manager.
      23939c64
  21. 16 Oct, 2009 1 commit
  22. 29 Oct, 2009 1 commit