1. 17 Aug, 2009 1 commit
  2. 06 Aug, 2009 2 commits
  3. 18 Aug, 2009 1 commit
  4. 17 Aug, 2009 2 commits
    • Thomas Schilling's avatar
      Make the dynamic linker thread-safe. · 4fa44a3a
      Thomas Schilling authored
      The current implementation is rather pessimistic.  The persistent
      linker state is now an MVar and all exported Linker functions are
      wrapped in modifyMVar calls.  This is serves as a big lock around all
      linker functions.
      There might be a chance for more concurrency in a few places. E.g.,
      extending the closure environment and loading packages might be
      independent in some cases.  But for now it's better to be on the safe
    • Thomas Schilling's avatar
      Make access to NameCache atomic. Sometimes needs a lock. · 9f68c348
      Thomas Schilling authored
      'readBinIface' updates the name cache in a way that is hard to use
      with atomicModifyIORef, so this patch introduces a lock for this case.
      All other updates use atomicModifyIORef.
      Having a single lock is quite pessimistic, so it remains to be seen
      whether this will become a problem.  In principle we only need to make
      sure that we do not load the same file concurrently (or that it's
      idempotent).  In practice we also need to ensure that concurrent reads
      do not cancel each other out (since the new NameCache may be based on
      an outdated version).
  5. 16 Aug, 2009 2 commits
  6. 22 Jul, 2009 1 commit
  7. 16 Aug, 2009 2 commits
  8. 14 Aug, 2009 3 commits
  9. 13 Aug, 2009 2 commits
    • Ian Lynagh's avatar
      Only look up whether a module's SOURCE-imported if it's in the current package · 0e3d5132
      Ian Lynagh authored
      Suppose we import anotherPackage:M, which exports things from
      anotherPackage:Internal. Then GHC will want to read
      However, if we have also SOURCE-imported thisPackage:Internal then
      we don't want GHC to try to read anotherPackage:Internal.hi-boot
      The mapping that tells us whether a module is SOURCE-imported uses just
      the module name for the key, so we have to check the package ID before
      looking it up.
      Fixes #3007.
    • simonpj@microsoft.com's avatar
      Fix Trac #3409: type synonyms that discard their arguments · 2d1262b6
      simonpj@microsoft.com authored
      Type synonyms that don't mention one of their type parameters on the 
      RHS are a pain in the neck.  This patch fixes a long-standing bug (that
      simply has not appeared before) in that exprType could return a type
      mentioning an existentially-quantified variable (in one of those ignored
      argument positions).
      See CoreUtils Note [Existential variables and silly type synonyms]
      The fix is not entirely beautiful, but it works, and is very localised.
  10. 12 Aug, 2009 2 commits
  11. 11 Aug, 2009 5 commits
  12. 10 Aug, 2009 2 commits
  13. 17 Jul, 2009 1 commit
  14. 09 Aug, 2009 2 commits
  15. 07 Aug, 2009 1 commit
  16. 08 Aug, 2009 4 commits
  17. 01 Aug, 2009 1 commit
  18. 07 Aug, 2009 1 commit
  19. 03 Aug, 2009 1 commit
    • Simon Marlow's avatar
      Add -r option to darcs-all, and remove push-all (#3375) · e0f75029
      Simon Marlow authored
      Contributed by: seliopou@gmail.com
      This patch modifies darcs-all to have feature parity with push-all by
      recognizing two new options.
          * -i, equivalent to --ignore-failure in push-all
          * -r <repo>, specifies the remote repository darcs commands will use
      Some example commands:
      Get the libraries from a repository of your choosing. This is useful
      when working with a git mirror:
          $ ./darcs-all -r http://darcs.haskell.org get
      Pull changes. Used to be:
          $ ./push-all --pull http://darcs.haskell.org
      Is now:
          $ ./darcs-all -r http://darcs.haskell.org pull
      Or to use the default remote of the ghc repository:
          $ ./darcs-all pull
  20. 07 Aug, 2009 2 commits
  21. 06 Aug, 2009 2 commits