1. 13 Nov, 2008 3 commits
    • Simon Marlow's avatar
      Fix another subtle shutdown deadlock · dddfba38
      Simon Marlow authored
      The problem occurred when a thread tries to GC during shutdown.  In
      order to GC it has to acquire all the Capabilities in the system, but
      during shutdown, some of the Capabilities have already been closed and
      can never be acquired.
      dddfba38
    • Simon Marlow's avatar
      Fix an extremely subtle deadlock bug on x86_64 · 6d316585
      Simon Marlow authored
      The recent_activity flag was an unsigned int, but we sometimes do a
      64-bit xchg() on it, which overwrites the next word in memory.  This
      happened to contain the sched_state flag, which is used to control the
      orderly shutdown of the system.  If the xchg() happened during
      shutdown, the scheduler would get confused and deadlock.  Don't you
      just love C?
      6d316585
    • Simon Marlow's avatar
      move an assertion · 424e0afa
      Simon Marlow authored
      424e0afa
  2. 12 Nov, 2008 2 commits
  3. 11 Nov, 2008 2 commits
    • Simon Marlow's avatar
      Fix parse error with older gccs (#2752) · 7ebf1a69
      Simon Marlow authored
      7ebf1a69
    • Simon Marlow's avatar
      Fix to i386_insert_ffrees (#2724, #1944) · dcd38ff7
      Simon Marlow authored
      The i386 native code generator has to arrange that the FPU stack is
      clear on exit from any function that uses the FPU.  Unfortunately it
      was getting this wrong (and has been ever since this code was written,
      I think): it was looking for basic blocks that used the FPU and adding
      the code to clear the FPU stack on any non-local exit from the block.
      In fact it should be doing this on a whole-function basis, rather than
      individual basic blocks.
      dcd38ff7
  4. 10 Nov, 2008 1 commit
  5. 05 Nov, 2008 1 commit
  6. 10 Nov, 2008 5 commits
  7. 08 Nov, 2008 7 commits
  8. 07 Nov, 2008 4 commits
  9. 06 Nov, 2008 6 commits
  10. 31 Oct, 2008 1 commit
  11. 06 Nov, 2008 3 commits
  12. 05 Nov, 2008 3 commits
  13. 04 Nov, 2008 2 commits