This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 17 Mar, 2010 1 commit
  2. 16 Mar, 2010 1 commit
  3. 17 Mar, 2010 1 commit
  4. 16 Mar, 2010 2 commits
    • Simon Marlow's avatar
      copy_tag_nolock(): fix write ordering and add a write_barrier() · 1a050f3c
      Simon Marlow authored
      Fixes a rare crash in the parallel GC.
      
      If we copy a closure non-atomically during GC, as we do for all
      immutable values, then before writing the forwarding pointer we better
      make sure that the closure itself is visible to other threads that
      might follow the forwarding pointer.  I imagine this doesn't happen
      very often, but I just found one case of it: in scavenge_stack, the
      RET_FUN case, after evacuating ret_fun->fun we then follow it and look
      up the info pointer.
      1a050f3c
    • benl@ouroborus.net's avatar
      3a90968f
  5. 11 Mar, 2010 1 commit
  6. 15 Mar, 2010 2 commits
  7. 14 Mar, 2010 3 commits
  8. 13 Mar, 2010 3 commits
  9. 11 Mar, 2010 3 commits
    • Simon Marlow's avatar
    • Simon Marlow's avatar
      Use message-passing to implement throwTo in the RTS · 7408b392
      Simon Marlow authored
      This replaces some complicated locking schemes with message-passing
      in the implementation of throwTo. The benefits are
      
       - previously it was impossible to guarantee that a throwTo from
         a thread running on one CPU to a thread running on another CPU
         would be noticed, and we had to rely on the GC to pick up these
         forgotten exceptions. This no longer happens.
      
       - the locking regime is simpler (though the code is about the same
         size)
      
       - threads can be unblocked from a blocked_exceptions queue without
         having to traverse the whole queue now.  It's a rare case, but
         replaces an O(n) operation with an O(1).
      
       - generally we move in the direction of sharing less between
         Capabilities (aka HECs), which will become important with other
         changes we have planned.
      
      Also in this patch I replaced several STM-specific closure types with
      a generic MUT_PRIM closure type, which allowed a lot of code in the GC
      and other places to go away, hence the line-count reduction.  The
      message-passing changes resulted in about a net zero line-count
      difference.
      7408b392
    • Simon Marlow's avatar
      12cfec94
  10. 23 Nov, 2009 1 commit
  11. 09 Mar, 2010 12 commits
  12. 05 Mar, 2010 2 commits
  13. 04 Mar, 2010 8 commits