Skip to content
  • Simon Marlow's avatar
    [project @ 2005-10-27 15:26:06 by simonmar] · 677c6345
    Simon Marlow authored
    - Very simple work-sharing amongst Capabilities: whenever a Capability
      detects that it has more than 1 thread in its run queue, it runs
      around looking for empty Capabilities, and shares the threads on its
      run queue equally with the free Capabilities it finds.
    
    - unlock the garbage collector's mutable lists, by having private
      mutable lists per capability (and per generation).  The private
      mutable lists are moved onto the main mutable lists at each GC.
      This pulls the old-generation update code out of the storage manager
      mutex, which is one of the last remaining causes of (alleged) contention.
    
    - Fix some problems with synchronising when a GC is required.  We should
      synchronise quicker now.
    677c6345