Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | move usleep(1) to gc_thread_work() from any_work() | Simon Marlow | 2008-04-16 | 2 | -4/+3 |
| | |||||
* | treat the global work list as a queue rather than a stack | Simon Marlow | 2008-04-16 | 2 | -2/+11 |
| | |||||
* | GC: move static object processinng into thread-local storage | Simon Marlow | 2008-04-16 | 9 | -68/+78 |
| | |||||
* | tmp: usleep(1) during anyWork() if no work | Simon Marlow | 2008-04-16 | 1 | -0/+3 |
| | |||||
* | anyWork(): count the number of times we don't find any work | Simon Marlow | 2008-04-16 | 3 | -0/+5 |
| | |||||
* | stats fixes | Simon Marlow | 2008-04-16 | 1 | -19/+23 |
| | |||||
* | Add +RTS -vg flag for requesting some GC trace messages, outside DEBUG | Simon Marlow | 2008-04-16 | 8 | -14/+44 |
| | | | | | | | DEBUG imposes a significant performance hit in the GC, yet we often want some of the debugging output, so -vg gives us the cheap trace messages without the sanity checking of DEBUG, just like -vs for the scheduler. | ||||
* | GC: rearrange storage to reduce memory accesses in the inner loop | Simon Marlow | 2008-04-16 | 5 | -168/+164 |
| | |||||
* | Add profiling of spinlocks | Simon Marlow | 2008-04-16 | 6 | -26/+65 |
| | |||||
* | Release some of the memory allocated to a stack when it shrinks (#2090) | simonmar@microsoft.com | 2008-02-28 | 3 | -1/+114 |
| | | | | | | When a stack is occupying less than 1/4 of the memory it owns, and is larger than a megablock, we release half of it. Shrinking is O(1), it doesn't need to copy the stack. | ||||
* | scavengeTSO might encounter a ThreadRelocated; cope | simonmar@microsoft.com | 2008-02-28 | 1 | -1/+10 |
| | |||||
* | Updating a thunk in raiseAsync might encounter an IND; cope | simonmar@microsoft.com | 2008-02-28 | 2 | -17/+9 |
| | | | | | | | | There was already a check to avoid updating an IND, but it was originally there to avoid a bug which doesn't exist now. Furthermore the test and update are not atomic, so another thread could be updating this thunk while we are. We have to just go ahead and update anyway - it might waste a little work, but this is a very rare case. | ||||
* | debugging code | Simon Marlow | 2008-02-19 | 1 | -0/+5 |
| | |||||
* | refactoring | simonmar@microsoft.com | 2008-02-18 | 1 | -26/+14 |
| | |||||
* | fix off-by-one | simonmar@microsoft.com | 2008-02-15 | 1 | -1/+1 |
| | |||||
* | Allow +RTS -H0 as a way to override a previous -H<size> | simonmar@microsoft.com | 2008-01-31 | 1 | -4/+0 |
| | |||||
* | comment out a bogus assertion | simonmar@microsoft.com | 2008-01-30 | 1 | -2/+5 |
| | |||||
* | memInventory: optionally dump the memory inventory | simonmar@microsoft.com | 2008-01-30 | 2 | -18/+35 |
| | | | | in addition to checking for leaks | ||||
* | calcNeeded: fix the calculation, we weren't counting G0 step 1 | simonmar@microsoft.com | 2008-01-30 | 1 | -4/+5 |
| | |||||
* | calcNeeded: add in the large blocks too | simonmar@microsoft.com | 2008-01-30 | 1 | -2/+2 |
| | |||||
* | update a comment | Simon Marlow | 2008-01-30 | 1 | -3/+2 |
| | |||||
* | tell Emacs these files are C | simonmar@microsoft.com | 2008-01-30 | 2 | -2/+2 |
| | |||||
* | fix an assertion | Simon Marlow | 2008-01-18 | 1 | -1/+1 |
| | |||||
* | small rearrangement | simonmar@microsoft.com | 2008-01-15 | 1 | -3/+3 |
| | |||||
* | remove unused declaration | simonmar@microsoft.com | 2008-01-11 | 1 | -1/+0 |
| | |||||
* | more fixes for THUNK_SELECTORs | Simon Marlow | 2008-01-10 | 2 | -11/+30 |
| | |||||
* | Fix bug in eval_thunk_selector() | simonmar@microsoft.com | 2008-01-10 | 1 | -5/+3 |
| | |||||
* | move markSparkQueue into GC.c, as it needs the register variable defined | Simon Marlow | 2008-01-09 | 3 | -69/+70 |
| | |||||
* | Fix bug: eval_thunk_selector was calling the unlocked evacuate() | Simon Marlow | 2008-01-09 | 2 | -0/+7 |
| | |||||
* | use "MB" rather than "Mb" for abbreviating megabytes | simonmar@microsoft.com | 2007-12-18 | 2 | -2/+2 |
| | |||||
* | findSlop: useful function for tracking down excessive slop in gdb | simonmar@microsoft.com | 2007-12-14 | 1 | -0/+15 |
| | |||||
* | calculate wastage due to unused memory at the end of each block | simonmar@microsoft.com | 2007-12-14 | 3 | -10/+46 |
| | |||||
* | bugfix: check for NULL before testing isPartiallyFull(stp->blocks) | simonmar@microsoft.com | 2007-12-14 | 1 | -1/+1 |
| | |||||
* | have each GC thread call GetRoots() | simonmar@microsoft.com | 2007-12-13 | 3 | -59/+62 |
| | |||||
* | use synchronised version of freeChain() in scavenge_mutable_list() | simonmar@microsoft.com | 2007-12-13 | 3 | -1/+10 |
| | |||||
* | remove old comment | simonmar@microsoft.com | 2007-12-12 | 1 | -5/+0 |
| | |||||
* | GC: small improvement to parallelism | simonmar@microsoft.com | 2007-11-29 | 1 | -3/+13 |
| | | | | don't cache a work block locally if the global queue is empty | ||||
* | EVACUATED: target is definitely HEAP_ALLOCED(), no need to check | simonmar@microsoft.com | 2007-11-29 | 1 | -1/+1 |
| | |||||
* | in scavenge_block(), keep going if we're scanning the todo block | simonmar@microsoft.com | 2007-11-27 | 1 | -1/+8 |
| | |||||
* | count the number of todo blocks, and add a trace | simonmar@microsoft.com | 2007-11-27 | 1 | -0/+4 |
| | |||||
* | oops, restore accidentally disabled hash-consing for Char | simonmar@microsoft.com | 2007-11-23 | 1 | -1/+1 |
| | |||||
* | kill the PAR/GRAN debug flags | simonmar@microsoft.com | 2007-11-22 | 2 | -33/+1 |
| | |||||
* | stats: print elapsed time for GC in each generation | simonmar@microsoft.com | 2007-11-22 | 1 | -2/+10 |
| | |||||
* | assertion fix | simonmar@microsoft.com | 2007-11-21 | 1 | -2/+5 |
| | |||||
* | cache bd->todo_bd->free and the limit in the workspace | Simon Marlow | 2007-11-21 | 6 | -16/+33 |
| | | | | | avoids cache contention: bd->todo_bd->free may clash with any cache line, so we localise it. | ||||
* | warning fix | simonmar@microsoft.com | 2007-11-21 | 1 | -1/+1 |
| | |||||
* | fix boundary bugs in a couple of for-loops | simonmar@microsoft.com | 2007-11-20 | 1 | -4/+4 |
| | |||||
* | improvements to PAPI support | simonmar@microsoft.com | 2007-11-20 | 6 | -91/+121 |
| | | | | | | | - major (multithreaded) GC is measured separately from minor GC - events to measure can now be specified on the command line, e.g prog +RTS -a+PAPI_TOT_CYC | ||||
* | use SRC_CC_OPTS rather than SRC_HC_OPTS for C options | simonmar@microsoft.com | 2007-11-19 | 1 | -1/+1 |
| | |||||
* | allow PAPI to be installed somewhere non-standard | Simon Marlow | 2007-11-01 | 2 | -3/+17 |
| |