1. 03 Sep, 2010 2 commits
  2. 27 Aug, 2010 1 commit
  3. 02 Sep, 2010 2 commits
  4. 31 Aug, 2010 1 commit
  5. 30 Aug, 2010 10 commits
  6. 27 May, 2010 1 commit
  7. 28 Aug, 2010 2 commits
  8. 27 Aug, 2010 4 commits
  9. 26 Aug, 2010 1 commit
  10. 24 Aug, 2010 1 commit
  11. 26 Aug, 2010 2 commits
  12. 24 Aug, 2010 2 commits
    • Simon Marlow's avatar
      Remove the debugging memory allocator - valgrind does a better job · ea0bfdad
      Simon Marlow authored
      I got fed up with the constant bogus output from the debugging memory
      allocator in RtsUtils.c.  One problem is that we allocate memory in
      constructors that then isn't tracked, because the debugging allocator
      hasn't been initialised yet.
      
      The bigger problem is that for a given piece of leaking memory it's
      impossible to find out where it was allocated; however Valgrind gives
      output like this:
      
      ==6967== 8 bytes in 1 blocks are still reachable in loss record 1 of 7
      ==6967==    at 0x4C284A8: malloc (vg_replace_malloc.c:236)
      ==6967==    by 0x4C28522: realloc (vg_replace_malloc.c:525)
      ==6967==    by 0x6745E9: stgReallocBytes (RtsUtils.c:213)
      ==6967==    by 0x68D812: setHeapAlloced (MBlock.c:91)
      ==6967==    by 0x68D8E2: markHeapAlloced (MBlock.c:116)
      ==6967==    by 0x68DB56: getMBlocks (MBlock.c:240)
      ==6967==    by 0x684F55: alloc_mega_group (BlockAlloc.c:305)
      ==6967==    by 0x6850C8: allocGroup (BlockAlloc.c:358)
      ==6967==    by 0x69484F: allocNursery (Storage.c:390)
      ==6967==    by 0x694ABD: allocNurseries (Storage.c:436)
      ==6967==    by 0x6944F2: initStorage (Storage.c:217)
      ==6967==    by 0x673E3C: hs_init (RtsStartup.c:160)
      
      which tells us exactly what the leaking bit of memory is.  So I don't
      think we need our own debugging allocator.
      ea0bfdad
    • Simon Marlow's avatar
      da6d4885
  13. 25 Aug, 2010 2 commits
  14. 24 Aug, 2010 3 commits
  15. 23 Aug, 2010 3 commits
  16. 18 Jul, 2010 1 commit
    • marcotmarcot's avatar
      Don't check for swept blocks in -DS. · eff182c3
      marcotmarcot authored
      The checkHeap function assumed the allocated part of the block contained only
      alive objects and slops.  This was not true for blocks that are collected using
      mark sweep.  The code in this patch skip the test for this kind of blocks.
      eff182c3
  17. 22 Aug, 2010 2 commits