Skip to content
Snippets Groups Projects
  1. Nov 28, 2005
  2. Nov 25, 2005
  3. Nov 24, 2005
  4. Nov 23, 2005
  5. Nov 21, 2005
  6. Nov 19, 2005
  7. Nov 18, 2005
    • Simon Marlow's avatar
      [project @ 2005-11-18 15:38:26 by simonmar] · 942818de
      Simon Marlow authored
      fix threaded build
      942818de
    • Simon Marlow's avatar
      [project @ 2005-11-18 15:24:12 by simonmar] · c5cd2343
      Simon Marlow authored
      Two improvements to the SMP runtime:
      
        - support for 'par', aka sparks.  Load balancing is very primitive
          right now, but I have seen programs that go faster using par.
      
        - support for backing off when a thread is found to be duplicating
          a computation currently underway in another thread.  This also
          fixes some instability in SMP, because it turned out that when
          an update frame points to an indirection, which can happen if
          a thunk is under evaluation in multiple threads, then after GC
          has shorted out the indirection the update will trash the value.
          Now we suspend the duplicate computation to the heap before this
          can happen.
      
      Additionally:
      
        - stack squeezing is separate from lazy blackholing, and now only
          happens if there's a reasonable amount of squeezing to be done
          in relation to the number of words of stack that have to be moved.
          This means we won't try to shift 10Mb of stack just to save 2
          words at the bottom (it probably never happened, but still).
      
        - update frames are now marked when they have been visited by lazy
          blackholing, as per the SMP paper.
      
        - cleaned up raiseAsync() a bit.
      c5cd2343
    • Simon Marlow's avatar
      [project @ 2005-11-18 15:23:09 by simonmar] · 6c17d627
      Simon Marlow authored
      cosmetic
      6c17d627
    • Simon Marlow's avatar
      [project @ 2005-11-18 15:13:46 by simonmar] · cbd29e0a
      Simon Marlow authored
      Add wcStore(), a write-combining store if supported
      
      (I tried using it in the update code and only succeeded in making
      things slower, but it might come in handy in the future)
      cbd29e0a
Loading