summaryrefslogtreecommitdiff
path: root/rts
Commit message (Collapse)AuthorAgeFilesLines
* make it safe to include this after GCTDecl.hSimon Marlow2013-01-171-4/+4
|
* Rearrange includes to avoid a clash on ARM/LinuxSimon Marlow2013-01-171-12/+13
|
* Better abstraction over run queues.Edward Z. Yang2013-01-164-14/+41
| | | | | | | | | This adds some new functions: peekRunQueue, promoteInRunQueue, singletonRunQueue and truncateRunQueue which help abstract away manual linked list manipulation, making it easier to swap in a new queue implementation. Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
* fix disassembler after removal of size field in bco->instrs (#7518)Simon Marlow2013-01-091-2/+2
|
* remove unnecessary size field in BCO (#7518)Simon Marlow2013-01-091-3/+1
|
* Add a -rpath entry for the RTS library, so that it can find libffiIan Lynagh2013-01-041-0/+4
| | | | | | | | | | This fixes dynamic library resolution when --enable-new-dtags is used (#7062). When --enable-new-dtags is used when linking an executable, a RUNPATH as well as RPATH is set. The linker then ignores RPATH, and RUNPATH is only used for directly (not transitively) needed libraries. As the program doesn't directly need libffi, it isn't found.
* A better fix for #7493 (see comment for details)Simon Marlow2012-12-181-20/+44
|
* Revert "Fix a bug in the handling of nested orElse"Simon Marlow2012-12-181-21/+3
| | | | | | This reverts commit f184d9caffa09750ef6a374a7987b9213d6db28e. The next commit will fix it in a better way.
* Make enabled_capabilities visible (fixes dynamic linking)Simon Marlow2012-12-131-2/+1
|
* add enabled_capabilities (#7491)Simon Marlow2012-12-111-0/+1
|
* Fix a bug in the handling of nested orElseSimon Marlow2012-12-101-3/+21
| | | | | | | | | | | | | | Exposed by the following snippet, courtesy of Bas van Dijk and Patrick Palka on libraries@haskell.org: import Control.Concurrent.STM main = do x <- atomically $ do t <- newTVar 1 writeTVar t 2 ((readTVar t >> retry) `orElse` return ()) `orElse` return () readTVar t print x
* Mac OS X 10.6 needed for pthread_threadid_np(), fixes #7356Ian Lynagh2012-12-011-1/+2
| | | | Based on a patch from Thorkil Naur.
* Link in-tree libffi to rts. Fixes trac #5743.Peter Trommler2012-11-301-0/+6
|
* libffi build system tweaksIan Lynagh2012-11-301-1/+4
|
* Add configure option to use system provided libffi; fixes #5743Ian Lynagh2012-11-292-5/+40
| | | | | | | | | | Based on patch from Peter Trommler: From 293495d40f62e691520331a41c6d85d82e120169 Mon Sep 17 00:00:00 2001 From: Peter Trommler <ptrommler@acm.org> Date: Sun, 21 Oct 2012 18:47:01 +0200 Subject: [PATCH] Add configure option to use system provided libffi This fixes track # 5743 and #4496.
* typoGabor Greif2012-11-231-2/+2
|
* Add a write barrier for TVAR closuresSimon Marlow2012-11-1620-50/+188
| | | | | | | | | | This improves GC performance when there are a lot of TVars in the heap. For instance, a TChan with a lot of elements causes a massive GC drag without this patch. There's more to do - several other STM closure types don't have write barriers, so GC performance when there are a lot of threads blocked on STM isn't great. But fixing the problem for TVar is a good start.
* fix bug in previous commit, 65e46f144f3d8b18de7264b0b099086153c68d6cSimon Marlow2012-11-161-1/+1
|
* ASSERT(HpAlloc==0) in the update code, to catch HpAlloc bugsSimon Marlow2012-11-121-1/+15
|
* remove some unused variablesSimon Marlow2012-11-121-1/+3
|
* a fix for checkTSO(): the TSO could be a WHITEHOLESimon Marlow2012-11-121-3/+10
|
* assert HpAlloc == 0Simon Marlow2012-11-121-4/+5
|
* some W_s should be P_sSimon Marlow2012-11-121-3/+3
|
* small optimisation: inline stmNewTVar()Simon Marlow2012-11-053-25/+9
|
* Save R1/R2/.. across foreign callsSimon Marlow2012-11-051-6/+15
|
* Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghcIan Lynagh2012-11-015-8/+14
|\
| * Fix bug in stg_enter_checkbhSimon Marlow2012-11-011-1/+5
| | | | | | | | | | This was causing crashes in stm050(ghci), throwto001(ghci), and possibly more.
| * turn off cmm optimisation for the debug waySimon Marlow2012-11-011-1/+1
| |
| * Fix bug in stg_ctoi_R1n (could cause GHCi crashes)Simon Marlow2012-11-011-1/+1
| |
| * A couple of W_s should be P_s (not an actual bug, I think)Simon Marlow2012-11-011-2/+2
| |
| * Don't clearNurseries() in parallel with -debugSimon Marlow2012-11-011-3/+5
| | | | | | | | It makes sanity-checking fail.
* | Fix typosIan Lynagh2012-11-011-1/+1
|/
* Retainer prof: immutable arrays are not retainers, and fix the docsSimon Marlow2012-10-311-2/+3
|
* Save and restore registers across calls to unlockClosure.Geoffrey Mainland2012-10-301-0/+13
| | | | | We may not assume that registers are saved across calls to unlockClosure because it could call a C function on some platforms.
* Attach proper jump liveness information to generated C-- code.Geoffrey Mainland2012-10-301-2/+2
|
* Fix a couple of format stringsIan Lynagh2012-10-261-2/+2
|
* fprintCCS_stderr: untag the exception (#7319)Simon Marlow2012-10-251-1/+1
|
* delete old commentsSimon Marlow2012-10-251-22/+0
|
* remove unused sched_shutting_downSimon Marlow2012-10-252-8/+1
|
* fix bug in heap check in putMVar#Simon Marlow2012-10-241-1/+1
|
* Use canned heap checks to save a few bytes of codeSimon Marlow2012-10-231-2/+2
|
* fix a warningSimon Marlow2012-10-231-2/+2
|
* Fix a silly bug that would cause -xc to print less than useful informationSimon Marlow2012-10-231-1/+3
|
* typoSimon Marlow2012-10-221-1/+1
|
* profiling fixesSimon Marlow2012-10-197-40/+44
|
* Fix build on OS X (fix from Duncan Coutts)Ian Lynagh2012-10-161-0/+5
|
* Add a new traceMarker# primop for use in profiling outputDuncan Coutts2012-10-157-0/+84
| | | | | | | | | In time-based profiling visualisations (e.g. heap profiles and ThreadScope) it would be useful to be able to mark particular points in the execution and have those points in time marked in the visualisation. The traceMarker# primop currently emits an event into the eventlog. In principle it could be extended to do something in the heap profiling too.
* Merge branch 'master' of http://darcs.haskell.org/ghcIan Lynagh2012-10-141-0/+3
|\
| * rts: Ignore signal before deleting timer. Fixes #7303.Erik de Castro Lopo2012-10-141-0/+3
| | | | | | | | | | | | | | Was getting an ocassional hang or segfault when building GHC in a Qemu user space emulation of ARM. Turned out that the ITIMER_SIGNAL was being delivered *after* the call to timer_delete(). Setting the signal to SIG_IGN before deleting the timer solves the problem.
* | Get dynamic-by-default mostly working on OS XIan Lynagh2012-10-141-0/+3
| |