1. 01 Dec, 2009 1 commit
  2. 30 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Implement a new heap-tuning option: -H · 32395093
      Simon Marlow authored
      -H alone causes the RTS to use a larger nursery, but without exceeding
      the amount of memory that the application is already using.  It trades
      off GC time against locality: the default setting is to use a
      fixed-size 512k nursery, but this is sometimes worse than using a very
      large nursery despite the worse locality.
      
      Not all programs get faster, but some programs that use large heaps do
      much better with -H.  e.g. this helps a lot with #3061 (binary-trees),
      though not as much as specifying -H<large>.  Typically using -H<large>
      is better than plain -H, because the runtime doesn't know ahead of
      time how much memory you want to use.
      
      Should -H be on by default?  I'm not sure, it makes some programs go
      slower, but others go faster.
      32395093
  3. 29 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Store a destination step in the block descriptor · f9d15f9f
      Simon Marlow authored
      At the moment, this just saves a memory reference in the GC inner loop
      (worth a percent or two of GC time).  Later, it will hopefully let me
      experiment with partial steps, and simplifying the generation/step
      infrastructure.
      f9d15f9f
  4. 30 Nov, 2009 4 commits
  5. 15 Nov, 2009 1 commit
    • kili's avatar
      Reorder ALL_RTS_LIBS · 33642e65
      kili authored
      ALL_RTS_LIBS is (ab)used for linking ghc when BootingFromHc=Yes,
      which needs libHSrtsmain.a before libHSrts.a.
      33642e65
  6. 29 Nov, 2009 8 commits
  7. 28 Nov, 2009 2 commits
  8. 27 Nov, 2009 3 commits
  9. 25 Nov, 2009 1 commit
  10. 18 Sep, 2009 1 commit
  11. 25 Nov, 2009 1 commit
  12. 26 Nov, 2009 1 commit
  13. 25 Nov, 2009 7 commits
  14. 24 Nov, 2009 1 commit
  15. 25 Nov, 2009 3 commits
    • Simon Marlow's avatar
      threadStackOverflow: check whether stack squeezing released some stack (#3677) · d2c874dc
      Simon Marlow authored
      In a stack overflow situation, stack squeezing may reduce the stack
      size, but we don't know whether it has been reduced enough for the
      stack check to succeed if we try again.  Fortunately stack squeezing
      is idempotent, so all we need to do is record whether *any* squeezing
      happened.  If we are at the stack's absolute -K limit, and stack
      squeezing happened, then we try running the thread again.
      
      We also want to avoid enlarging the stack if squeezing has already
      released some of it.  However, we don't want to get into a
      pathalogical situation where a thread has a nearly full stack (near
      its current limit, but not near the absolute -K limit), keeps
      allocating a little bit, squeezing removes a little bit, and then it
      runs again.  So to avoid this, if we squeezed *and* there is still
      less than BLOCK_SIZE_W words free, then we enlarge the stack anyway.
      d2c874dc
    • Simon Marlow's avatar
      add a comment to TSO_MARKED · 69ba3e6b
      Simon Marlow authored
      69ba3e6b
    • rl@cse.unsw.edu.au's avatar
  16. 24 Nov, 2009 3 commits
  17. 23 Nov, 2009 1 commit