1. 14 Jan, 2009 1 commit
  2. 16 Jan, 2009 2 commits
    • Simon Marlow's avatar
      UNDO: Always check the result of pthread_mutex_lock() and pthread_mutex_unlock(). · b2d4af35
      Simon Marlow authored
      This patch caused problems on Mac OS X, undoing until we can do it better.
      
      rolling back:
      
      Sun Jan  4 19:24:43 GMT 2009  Matthias Kilian <kili@outback.escape.de>
        * Always check the result of pthread_mutex_lock() and pthread_mutex_unlock().
        
        Don't check pthread_mutex_*lock() only on Linux and/or only if DEBUG
        is defined. The return values of those functions are well defined
        and should be supported on all operation systems with pthreads. The
        checks are cheap enough to do them even in the default build (without
        -DDEBUG).
        
        While here, recycle an unused macro ASSERT_LOCK_NOTHELD, and let
        the debugBelch part enabled with -DLOCK_DEBUG work independently
        of -DDEBUG.
        
      
          M ./includes/OSThreads.h -30 +10
      b2d4af35
    • Simon Marlow's avatar
      Update config.guess, config.sub and install.sh from automake-1.10.2 · 09c5b3c4
      Simon Marlow authored
      In particular, config.guess should now know about x86_64-pc-solaris2
      09c5b3c4
  3. 15 Jan, 2009 4 commits
  4. 14 Jan, 2009 6 commits
  5. 13 Jan, 2009 10 commits
  6. 04 Jan, 2009 1 commit
    • kili's avatar
      Always check the result of pthread_mutex_lock() and pthread_mutex_unlock(). · b1fef4d8
      kili authored
      Don't check pthread_mutex_*lock() only on Linux and/or only if DEBUG
      is defined. The return values of those functions are well defined
      and should be supported on all operation systems with pthreads. The
      checks are cheap enough to do them even in the default build (without
      -DDEBUG).
      
      While here, recycle an unused macro ASSERT_LOCK_NOTHELD, and let
      the debugBelch part enabled with -DLOCK_DEBUG work independently
      of -DDEBUG.
      b1fef4d8
  7. 12 Jan, 2009 2 commits
    • Simon Marlow's avatar
      sanity checking fixes · 1aaac347
      Simon Marlow authored
      1aaac347
    • Simon Marlow's avatar
      Keep the remembered sets local to each thread during parallel GC · 6a405b1e
      Simon Marlow authored
      This turns out to be quite vital for parallel programs:
      
        - The way we discover which threads to traverse is by finding
          dirty threads via the remembered sets (aka mutable lists).
      
        - A dirty thread will be on the remembered set of the capability
          that was running it, and we really want to traverse that thread's
          stack using the GC thread for the capability, because it is in
          that CPU's cache.  If we get this wrong, we get penalised badly by
          the memory system.
      
      Previously we had per-capability mutable lists but they were
      aggregated before GC and traversed by just one of the GC threads.
      This resulted in very poor performance particularly for parallel
      programs with deep stacks.
      
      Now we keep per-capability remembered sets throughout GC, which also
      removes a lock (recordMutableGen_sync).
      6a405b1e
  8. 07 Jan, 2009 1 commit
  9. 09 Jan, 2009 3 commits
  10. 08 Jan, 2009 1 commit
  11. 09 Jan, 2009 1 commit
  12. 08 Jan, 2009 3 commits
  13. 07 Jan, 2009 5 commits