1. 11 Mar, 2010 2 commits
    • 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
       - 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
    • Simon Marlow's avatar
  2. 23 Nov, 2009 1 commit
  3. 09 Mar, 2010 12 commits
  4. 05 Mar, 2010 2 commits
  5. 04 Mar, 2010 9 commits
  6. 03 Mar, 2010 2 commits
  7. 02 Mar, 2010 6 commits
  8. 01 Mar, 2010 1 commit
  9. 27 Feb, 2010 1 commit
  10. 01 Mar, 2010 4 commits