summaryrefslogtreecommitdiff
path: root/rts/Capability.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Free various things we allocateIan Lynagh2006-12-151-0/+2
|
* remove unused includes, now that Storage.h & Stable.h are included by Rts.hSimon Marlow2006-11-151-1/+0
|
* Split GC.c, and move storage manager into sm/ directorySimon Marlow2006-10-241-0/+1
| | | | | | | | | | | | | | | | | In preparation for parallel GC, split up the monolithic GC.c file into smaller parts. Also in this patch (and difficult to separate, unfortunatley): - Don't include Stable.h in Rts.h, instead just include it where necessary. - consistently use STATIC_INLINE in source files, and INLINE_HEADER in header files. STATIC_INLINE is now turned off when DEBUG is on, to make debugging easier. - The GC no longer takes the get_roots function as an argument. We weren't making use of this generalisation.
* STM invariantstharris@microsoft.com2006-10-071-1/+2
|
* don't closeMutex() the Capability lockSimon Marlow2006-08-311-2/+4
| | | | | | | | | | | | | There might be threads in foreign calls that will attempt to return via resumeThread() and grab this lock, so we can't safely destroy it. Fixes one cause of internal error: ASSERTION FAILED: file Capability.c, line 90 although I haven't repeated that assertion failure in the wild, only with a specially crafted test case, so I can't be sure I really got it.
* shutdownCapability(): don't bail out after 50 iterationsSimon Marlow2006-08-251-1/+7
| | | | | | See comments for details. Fixes assertion failures in stage 3 build which appeared after recent closeMutex() addidion. May fix other shutdown issues.
* Add closeMutex and use it on clean upEsa Ilari Vuokko2006-08-231-0/+3
|
* Asynchronous exception support for SMPSimon Marlow2006-06-161-1/+30
| | | | | | | | | | | | | | | | | This patch makes throwTo work with -threaded, and also refactors large parts of the concurrency support in the RTS to clean things up. We have some new files: RaiseAsync.{c,h} asynchronous exception support Threads.{c,h} general threading-related utils Some of the contents of these new files used to be in Schedule.c, which is smaller and cleaner as a result of the split. Asynchronous exception support in the presence of multiple running Haskell threads is rather tricky. In fact, to my annoyance there are still one or two bugs to track down, but the majority of the tests run now.
* New tracing interfaceSimon Marlow2006-06-081-21/+25
| | | | | | | | A simple interface for generating trace messages with timestamps and thread IDs attached to them. Most debugging output goes through this interface now, so it is straightforward to get timestamped debugging traces with +RTS -vt. Also, we plan to use this to generate parallelism profiles from the trace output.
* Reorganisation of the source treeSimon Marlow2006-04-071-0/+668
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.