1. 05 Sep, 2007 2 commits
  2. 03 Sep, 2007 1 commit
    • Ben.Lippmeier@anu.edu.au's avatar
      Do conservative coalescing in register allocator · a7f409e8
      Ben.Lippmeier@anu.edu.au authored
      Avoid coalescing nodes in the register conflict graph if the
      new node will not be trivially colorable. Also remove the
      front end aggressive coalescing pass.
        
      For typical Haskell code the graph coloring allocator now does
      about as well as the linear allocator.
        
      For code with a large amount of register pressure it does much
      better, but takes longer.
        
      For SHA1.lhs from darcs on x86
         
                spills    reloads    reg-reg-moves
                inserted   inserted  left in code   compile-time
        linear    1068      1311        229            7.69(s)
        graph      387       902        340           16.12(s)
      a7f409e8
  3. 05 Sep, 2007 1 commit
    • rl@cse.unsw.edu.au's avatar
      Use dlsym on OS X if available · 6f69004a
      rl@cse.unsw.edu.au authored
      On OS X 10.4 and newer, we have to use dlsym because the old NS* interface has
      been deprecated. The patch checks for HAVE_DLFCN_H instead of switching on
      the OS version.
      
      There is one additional quirk: although OS X prefixes global symbols with an
      underscore, dlsym expects its argument NOT to have a leading underscore. As a
      hack, we simply strip it off in lookupSymbol. Something a bit more elaborate
      might be cleaner.
      6f69004a
  4. 04 Sep, 2007 2 commits
  5. 05 Sep, 2007 2 commits
  6. 04 Sep, 2007 8 commits
  7. 03 Sep, 2007 9 commits
  8. 28 Aug, 2007 1 commit
  9. 03 Sep, 2007 3 commits
    • Simon Marlow's avatar
      FIX #1623: disable the timer signal when the system is idle (threaded RTS only) · 8d71be7c
      Simon Marlow authored
      Having a timer signal go off regularly is bad for power consumption,
      and generally bad practice anyway (it means the app cannot be
      completely swapped out, for example).  Fortunately the threaded RTS
      already had a way to detect when the system was idle, so that it can
      trigger a GC and thereby find deadlocks.  After performing the GC, we
      now turn off timer signals, and re-enable them again just before
      running any Haskell code.
      8d71be7c
    • Simon Marlow's avatar
      FIX #1648: rts_mkWord64 was missing · 37e27d92
      Simon Marlow authored
      Also noticed a few others from RtsAPI were missing, so I added them all
      37e27d92
    • Ross Paterson's avatar
      FIX for #1080 · 9630111a
      Ross Paterson authored
      Arrow desugaring now uses a private version of collectPatBinders and
      friends, in order to include dictionary bindings from ConPatOut.
      
      It doesn't fix arrowrun004 (#1333), though.
      9630111a
  10. 31 Aug, 2007 1 commit
  11. 03 Sep, 2007 2 commits
  12. 31 Aug, 2007 1 commit
    • Simon Marlow's avatar
      comments only · c9a8811e
      Simon Marlow authored
      I had planned to do findEnclosingDecl a different way, so add a ToDo
      as a reminder.
      c9a8811e
  13. 02 Sep, 2007 4 commits
  14. 01 Sep, 2007 3 commits