- 22 Apr, 2010 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
Noticed by Denys Rtveliashvili <rtvd@mac.com>, see #4004
-
Ian Lynagh authored
-
- 21 Apr, 2010 2 commits
-
-
Ian Lynagh authored
Our END block was calling system, which alters $?. So now we save and restore it.
-
Ian Lynagh authored
This patch also fixes ullong_format_string (renamed to showStgWord64) so that it works with values outside the 32bit range (trac #3979), and simplifies the without-commas case.
-
- 20 Apr, 2010 3 commits
-
-
Ian Lynagh authored
Avoid using seq, as FreeBSD has jot instead.
-
Simon Marlow authored
The tso->block_info field is now overwritten by pushOnRunQueue(), but stg_block_async_info was assuming that it still held a pointer to the StgAsyncIOResult. We must therefore save this value somewhere safe before putting the TSO on the run queue.
-
Simon Marlow authored
I once saw a failure that I think was due to a race on io_manager_event, this should fix it.
-
- 31 Mar, 2010 1 commit
-
-
milan authored
-
- 13 Apr, 2010 1 commit
-
-
batterseapower authored
-
- 16 Apr, 2010 2 commits
-
-
Ian Lynagh authored
Some of the problems highlighted in trac #3968.
-
Ian Lynagh authored
-
- 12 Apr, 2010 2 commits
-
-
simonpj@microsoft.com authored
I was assuming that the unifer only unified types of the same kind, but now we can "defer" unsolved constraints that invariant no longer holds. Or at least is's more complicated to ensure. This patch takes the path of not assuming the invariant, which is simpler and more robust. See Note [Mismatched type lists and application decomposition]
-
simonpj@microsoft.com authored
In fixing this I did the usual little bit of refactoring
-
- 15 Apr, 2010 2 commits
-
-
Ian Lynagh authored
This stops us having to worry about sh/sed/... portability.
-
Ian Lynagh authored
-
- 12 Apr, 2010 2 commits
-
-
Ian Lynagh authored
They are now guaranteed to be YES
-
Ian Lynagh authored
-
- 09 Apr, 2010 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
IND_STATIC used to be an error, but at the moment it can happen as isAlive doesn't look through IND_STATIC as it ignores static closures. See trac #3956 for a program that hit this error.
-
- 30 Mar, 2010 1 commit
-
-
waern authored
The instances (and deriving declarations) have been taken from the ghc-syb package.
-
- 07 Apr, 2010 5 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 06 Apr, 2010 5 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 01 Apr, 2010 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
These are no longer used: once upon a time they used to have different layout from IND and IND_PERM respectively, but that is no longer the case since we changed the remembered set to be an array of addresses instead of a linked list of closures.
-
Simon Marlow authored
The list of threads blocked on an MVar is now represented as a list of separately allocated objects rather than being linked through the TSOs themselves. This lets us remove a TSO from the list in O(1) time rather than O(n) time, by marking the list object. Removing this linear component fixes some pathalogical performance cases where many threads were blocked on an MVar and became unreachable simultaneously (nofib/smp/threads007), or when sending an asynchronous exception to a TSO in a long list of thread blocked on an MVar. MVar performance has actually improved by a few percent as a result of this change, slightly to my surprise. This is the final cleanup in the sequence, which let me remove the old way of waking up threads (unblockOne(), MSG_WAKEUP) in favour of the new way (tryWakeupThread and MSG_TRY_WAKEUP, which is idempotent). It is now the case that only the Capability that owns a TSO may modify its state (well, almost), and this simplifies various things. More of the RTS is based on message-passing between Capabilities now.
-
- 30 Mar, 2010 1 commit
-
-
Simon Marlow authored
-
- 01 Apr, 2010 1 commit
-
-
Simon Marlow authored
Avoids screeds of "event buffer overflowed; event dropped" in conc059(threaded1).
-
- 29 Mar, 2010 1 commit
-
-
Simon Marlow authored
This fixes #3838, and was made possible by the new BLACKHOLE infrastructure. To allow reording of the run queue I had to make it doubly-linked, which entails some extra trickiness with regard to GC write barriers and suchlike.
-
- 30 Mar, 2010 1 commit
-
-
Simon Marlow authored
-
- 29 Mar, 2010 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-