- 20 Jul, 2010 1 commit
-
-
Simon Marlow authored
-
- 16 Jul, 2010 1 commit
-
-
Simon Marlow authored
In GHC 6.12.x I found a rare deadlock caused by this lock-order-reversal: AQ cap->lock startWorkerTask newTask AQ sched_mutex scheduleCheckBlackHoles AQ sched_mutex unblockOne_ wakeupThreadOnCapabilty AQ cap->lock so sched_mutex and cap->lock are taken in a different order in two places. This doesn't happen in the HEAD because we don't have scheduleCheckBlackHoles, but I thought it would be prudent to make this less likely to happen in the future by using a different mutex in newTask. We can clearly see that the all_tasks mutex cannot be involved in a deadlock, becasue we never call anything else while holding it.
-
- 17 Jul, 2010 1 commit
-
-
Ian Lynagh authored
-
- 16 Jul, 2010 2 commits
-
-
Ian Lynagh authored
Now that we are trying to support cross compilation, we can't use "$(TARGETPLATFORM)" != "$(HOSTPLATFORM)" as a test for HC-porting.
-
Ian Lynagh authored
-
- 13 Jul, 2010 1 commit
-
-
Ian Lynagh authored
Which was being used seemed to be random
-
- 08 Jul, 2010 2 commits
-
-
Simon Marlow authored
As discussed on the libraries/haskell-cafe mailing lists http://www.haskell.org/pipermail/libraries/2010-April/013420.html This is a replacement for block/unblock in the asychronous exceptions API to fix a problem whereby a function could unblock asynchronous exceptions even if called within a blocked context. The new terminology is "mask" rather than "block" (to avoid confusion due to overloaded meanings of the latter). In GHC, we changed the names of some primops: blockAsyncExceptions# -> maskAsyncExceptions# unblockAsyncExceptions# -> unmaskAsyncExceptions# asyncExceptionsBlocked# -> getMaskingState# and added one new primop: maskUninterruptible# See the accompanying patch to libraries/base for the API changes.
-
Simon Marlow authored
QueryPerformanceCounter() on Windows gives much better resolution than GetSystemTimeAsFileTime().
-
- 05 Jul, 2010 1 commit
-
-
Simon Marlow authored
To improve performance of the RTS when dynamically linked on x86, I previously disabled -fPIC for certain critical modules (the GC, and a few others). However, build reports suggest that the dynamic linker on OS X doesn't like this, so I'm disabling this optimsation on that platform.
-
- 01 Jul, 2010 1 commit
-
-
Simon Marlow authored
Noticed by Henrique Ferreiro <hferreiro@udc.es>, thanks!
-
- 28 Jun, 2010 1 commit
-
-
Simon Marlow authored
-
- 24 Jun, 2010 4 commits
-
-
dmp@rice.edu authored
Validation fails when validating with PAPI support (i.e. GhcRtsWithPapi = YES in validate.mk). The problem is that the posix symbols are defined by a header included from papi.h. Compilation then fails because these symbols are redefined in PosixSource.h. This patch adds an undefine for the posix symbols after including papi.h and before including PosixSource.h. The #undefines are localized to Papi.c since that is the only case where they are getting defined twice.
-
Simon Marlow authored
And add a comment about the dangers of int overflow
-
Simon Marlow authored
-
Simon Marlow authored
-
- 22 Jun, 2010 1 commit
-
-
dmp@rice.edu authored
This patch extends the PAPI support in the RTS to allow collection of native events. PAPI can collect data for native events that are exposed by the hardware beyond the PAPI present events. The native events supported on your hardware can found by using the papi_native_avail tool. The RTS already allows users to specify PAPI preset events from the command line. This patch extends that support to allow users to specify native events. The changes needed are: 1) New option (#) for the RTS PAPI flag for native events. For example, to collect the native event 0x40000000, use ./a.out +RTS -a#0x40000000 -sstderr 2) Update the PAPI_FLAGS struct to store whether the user specified event is a papi preset or a native event 3) Update init_countable_events function to add the native events after parsing the event code and decoding the name using PAPI_event_code_to_name
-
- 20 Jun, 2010 1 commit
-
-
Ian Lynagh authored
-
- 19 Jun, 2010 2 commits
-
-
Ian Lynagh authored
This avoids unnecessary work and potential loss of information
-
Ian Lynagh authored
-
- 01 Jan, 2010 1 commit
-
-
alatter authored
-
- 17 Jun, 2010 4 commits
-
-
Ian Lynagh authored
This may not be ideal, but it should get GHC building on all platforms again.
-
Simon Marlow authored
see comment for details
-
Simon Marlow authored
-
Simon Marlow authored
-
- 04 Jun, 2010 1 commit
-
-
Simon Marlow authored
-
- 09 May, 2010 1 commit
-
-
Simon Marlow authored
This lets automatic prefetching work better, for a tiny performance boost
-
- 15 Jun, 2010 1 commit
-
-
Simon Marlow authored
-
- 11 Jun, 2010 1 commit
-
-
benl@ouroborus.net authored
-
- 10 Jun, 2010 1 commit
-
-
Simon Marlow authored
-
- 28 May, 2010 1 commit
-
-
Marco Túlio Gontijo e Silva authored
This "if" is inside another "if" which checks for RtsFlags.GcFlags.generations > 1, so testing this again is redundant, assuming the number of generations won't change during program execution.
-
- 26 May, 2010 2 commits
-
-
Marco Túlio Gontijo e Silva authored
-
Marco Túlio Gontijo e Silva authored
-
- 01 Jun, 2010 1 commit
-
-
Ian Lynagh authored
-
- 29 May, 2010 4 commits
-
-
Ian Lynagh authored
Patch from Barney Stratford
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
- 25 May, 2010 3 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
The new strategies library (parallel-2.0+, preferably 2.2+) is now required for parallel programming, otherwise parallelism will be lost.
-
Simon Marlow authored
Apparently on Solaris it is an error to omit _ISOC99_SOURCE when using _POSIX_C_SOURCE==200112L.
-