summaryrefslogtreecommitdiff
path: root/rts
Commit message (Collapse)AuthorAgeFilesLines
* move usleep(1) to gc_thread_work() from any_work()Simon Marlow2008-04-162-4/+3
|
* treat the global work list as a queue rather than a stackSimon Marlow2008-04-162-2/+11
|
* GC: move static object processinng into thread-local storageSimon Marlow2008-04-169-68/+78
|
* tmp: usleep(1) during anyWork() if no workSimon Marlow2008-04-161-0/+3
|
* anyWork(): count the number of times we don't find any workSimon Marlow2008-04-163-0/+5
|
* stats fixesSimon Marlow2008-04-161-19/+23
|
* Add +RTS -vg flag for requesting some GC trace messages, outside DEBUGSimon Marlow2008-04-168-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 loopSimon Marlow2008-04-165-168/+164
|
* Add profiling of spinlocksSimon Marlow2008-04-166-26/+65
|
* Release some of the memory allocated to a stack when it shrinks (#2090)simonmar@microsoft.com2008-02-283-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; copesimonmar@microsoft.com2008-02-281-1/+10
|
* Updating a thunk in raiseAsync might encounter an IND; copesimonmar@microsoft.com2008-02-282-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 codeSimon Marlow2008-02-191-0/+5
|
* refactoringsimonmar@microsoft.com2008-02-181-26/+14
|
* fix off-by-onesimonmar@microsoft.com2008-02-151-1/+1
|
* Allow +RTS -H0 as a way to override a previous -H<size>simonmar@microsoft.com2008-01-311-4/+0
|
* comment out a bogus assertionsimonmar@microsoft.com2008-01-301-2/+5
|
* memInventory: optionally dump the memory inventorysimonmar@microsoft.com2008-01-302-18/+35
| | | | in addition to checking for leaks
* calcNeeded: fix the calculation, we weren't counting G0 step 1simonmar@microsoft.com2008-01-301-4/+5
|
* calcNeeded: add in the large blocks toosimonmar@microsoft.com2008-01-301-2/+2
|
* update a commentSimon Marlow2008-01-301-3/+2
|
* tell Emacs these files are Csimonmar@microsoft.com2008-01-302-2/+2
|
* fix an assertionSimon Marlow2008-01-181-1/+1
|
* small rearrangementsimonmar@microsoft.com2008-01-151-3/+3
|
* remove unused declarationsimonmar@microsoft.com2008-01-111-1/+0
|
* more fixes for THUNK_SELECTORsSimon Marlow2008-01-102-11/+30
|
* Fix bug in eval_thunk_selector()simonmar@microsoft.com2008-01-101-5/+3
|
* move markSparkQueue into GC.c, as it needs the register variable definedSimon Marlow2008-01-093-69/+70
|
* Fix bug: eval_thunk_selector was calling the unlocked evacuate()Simon Marlow2008-01-092-0/+7
|
* use "MB" rather than "Mb" for abbreviating megabytessimonmar@microsoft.com2007-12-182-2/+2
|
* findSlop: useful function for tracking down excessive slop in gdbsimonmar@microsoft.com2007-12-141-0/+15
|
* calculate wastage due to unused memory at the end of each blocksimonmar@microsoft.com2007-12-143-10/+46
|
* bugfix: check for NULL before testing isPartiallyFull(stp->blocks)simonmar@microsoft.com2007-12-141-1/+1
|
* have each GC thread call GetRoots()simonmar@microsoft.com2007-12-133-59/+62
|
* use synchronised version of freeChain() in scavenge_mutable_list()simonmar@microsoft.com2007-12-133-1/+10
|
* remove old commentsimonmar@microsoft.com2007-12-121-5/+0
|
* GC: small improvement to parallelismsimonmar@microsoft.com2007-11-291-3/+13
| | | | don't cache a work block locally if the global queue is empty
* EVACUATED: target is definitely HEAP_ALLOCED(), no need to checksimonmar@microsoft.com2007-11-291-1/+1
|
* in scavenge_block(), keep going if we're scanning the todo blocksimonmar@microsoft.com2007-11-271-1/+8
|
* count the number of todo blocks, and add a tracesimonmar@microsoft.com2007-11-271-0/+4
|
* oops, restore accidentally disabled hash-consing for Charsimonmar@microsoft.com2007-11-231-1/+1
|
* kill the PAR/GRAN debug flagssimonmar@microsoft.com2007-11-222-33/+1
|
* stats: print elapsed time for GC in each generationsimonmar@microsoft.com2007-11-221-2/+10
|
* assertion fixsimonmar@microsoft.com2007-11-211-2/+5
|
* cache bd->todo_bd->free and the limit in the workspaceSimon Marlow2007-11-216-16/+33
| | | | | avoids cache contention: bd->todo_bd->free may clash with any cache line, so we localise it.
* warning fixsimonmar@microsoft.com2007-11-211-1/+1
|
* fix boundary bugs in a couple of for-loopssimonmar@microsoft.com2007-11-201-4/+4
|
* improvements to PAPI supportsimonmar@microsoft.com2007-11-206-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 optionssimonmar@microsoft.com2007-11-191-1/+1
|
* allow PAPI to be installed somewhere non-standardSimon Marlow2007-11-012-3/+17
|