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. 27 Mar, 2010 1 commit
  2. 26 Mar, 2010 5 commits
  3. 25 Mar, 2010 2 commits
  4. 24 Mar, 2010 1 commit
  5. 25 Mar, 2010 3 commits
    • Simon Marlow's avatar
      A sanity check · 18f1d72e
      Simon Marlow authored
      18f1d72e
    • Simon Marlow's avatar
      do_checks: do not set HpAlloc if the stack check fails · 5c3ea9fb
      Simon Marlow authored
      This fixes a very rare heap corruption bug, whereby
      
       - a context switch is requested, which sets HpLim to zero
         (contextSwitchCapability(), called by the timer signal or
         another Capability).
      
       - simultaneously a stack check fails, in a code fragment that has
         both a stack and a heap check.
      
      The RTS then assumes that a heap-check failure has occurred and
      subtracts HpAlloc from Hp, although in fact it was a stack-check
      failure and retreating Hp will overwrite valid heap objects.  The bug
      is that HpAlloc should only be set when Hp has been incremented by the
      heap check.  See comments in rts/HeapStackCheck.cmm for more details.
      
      This bug is probably incredibly rare in practice, but I happened to be
      working on a test that triggers it reliably:
      concurrent/should_run/throwto001, compiled with -O -threaded, args 30
      300 +RTS -N2, run repeatedly in a loop.
      5c3ea9fb
    • Simon Marlow's avatar
      comments and formatting only · 813f208a
      Simon Marlow authored
      813f208a
  6. 24 Mar, 2010 8 commits
  7. 23 Mar, 2010 1 commit
    • Ian Lynagh's avatar
      Tweak the Makefile code for making .a libs; fixes trac #3642 · 64c64a6e
      Ian Lynagh authored
      The main change is that, rather than using "xargs ar" we now put
      all the filenames into a file, and do "ar @file". This means that
      ar adds all the files at once, which works around a problem where
      files with the same basename in a later invocation were overwriting
      the existing file in the .a archive.
      64c64a6e
  8. 20 Mar, 2010 1 commit
  9. 21 Mar, 2010 2 commits
  10. 20 Mar, 2010 1 commit
  11. 19 Mar, 2010 2 commits
  12. 17 Mar, 2010 1 commit
  13. 16 Mar, 2010 1 commit
  14. 17 Mar, 2010 1 commit
  15. 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
  16. 11 Mar, 2010 1 commit
  17. 15 Mar, 2010 2 commits
  18. 14 Mar, 2010 3 commits
  19. 13 Mar, 2010 2 commits