- 27 Jan, 2010 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 26 Jan, 2010 4 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
After a bound thread had completed, its TSO remains in the heap until it has been GC'd, although the associated Task is returned to the caller where it is freed and possibly re-used. The bug was that GC was following the pointer to the Task and updating the TSO field, meanwhile the Task had already been recycled (it was being used by exitScheduler()). Confusion ensued, leading to a very occasional deadlock at shutdown, but in principle it could result in other crashes too. The fix is to remove the link between the TSO and the Task when the TSO has completed and the call to schedule() has returned; see comments in Schedule.c.
-
- 22 Jan, 2010 6 commits
-
-
Simon Marlow authored
This helps when the thread holding the lock has been descheduled, which is the main cause of the "last-core slowdown" problem. With this patch, I get much better results with -N8 on an 8-core box, although some benchmarks are still worse than with 7 cores. I also added a yieldThread() into the any_work() loop of the parallel GC when it has no work to do. Oddly, this seems to improve performance on the parallel GC benchmarks even when all the cores are busy. Perhaps it is due to reducing contention on the memory bus.
-
Simon Marlow authored
-
Simon Marlow authored
A recent patch ("Refactor CoreArity a bit") changed the arity of GHC.Conc.runSparks such that it became a CAF, and the RTS was not explicitly retaining it, which led to a crash when the CAF got GC'd. While fixing this I found a couple of other closures that the RTS refers to which weren't getting the correct CAF treatment.
-
Ian Lynagh authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- 19 Jan, 2010 1 commit
-
-
Simon Marlow authored
In 6.14.1 we'll switch these primops to return the exact byte size, but for 6.12.2 we need to fix the docs.
-
- 20 Jan, 2010 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
It looks like it was only needed on OSX, but it has a prototype in assert.h which now gets #included.
-
Ian Lynagh authored
Remove a prototype of a function that wasn't defined
-
- 16 Dec, 2009 1 commit
-
-
howard_b_golden@yahoo.com authored
This patch does not apply to Windows. It only applies to systems with ELF binaries. This is a patch to rts/Linker.c to recognize linker scripts in .so files and find the real target .so shared library for loading.
-
- 20 Jan, 2010 2 commits
-
-
simonpj@microsoft.com authored
In a GHCi stmt we don't want to report unused variables, because we don't know the scope of the binding, eg Prelude> x <- blah Fixing this needed a little more info about the context of the stmt, thus the new constructor GhciStmt in the HsStmtContext type.
-
simonpj@microsoft.com authored
The immediate reason for this patch is to fix #3823. This was rather easy: all the work was being done but I was returning type_env2 rather than type_env3. An unused-veriable warning would have shown this up, so I fixed all the other warnings in TcRnDriver. Doing so showed up at least two genuine lurking bugs. Hurrah.
-
- 19 Jan, 2010 4 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Ian Lynagh authored
-
Simon Marlow authored
Patch contributed by asuffield@suffields.me.uk
-
- 18 Jan, 2010 2 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
We were printing the wrong value, so getting confusing messages like: Function `$wa{v s17LO} [lid]' has 2 call pattterns, but the limit is 3
-
- 16 Jan, 2010 3 commits
-
-
Ian Lynagh authored
-
Ian Lynagh authored
It thought the ) needed to close something, but the $( hadn't opened anything.
-
Ian Lynagh authored
-
- 31 Dec, 2009 1 commit
-
-
Simon Marlow authored
-
- 30 Dec, 2009 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 13 Jan, 2010 2 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- 12 Jan, 2010 2 commits
-
-
Simon Marlow authored
GHC.loadModule compiles a module after it has been parsed and typechecked explicity. If we are compiling to object code and there is a valid object file already on disk, then we can skip the compilation step. This is useful in Haddock, when processing a package that uses Template Haskell and hence needs actual compilation, and the package has already been compiled. As usual, the recomp avoidance can be disabled with -fforce-recomp.
-
Simon Marlow authored
Partly this is cleaner as we only have to preprocess the source files once, but also it is necessary to avoid Haddock recompiling source files when Template Haskell is in use, saving some time in validate and fixing a problem whereby when HADDOCK_DOCS=YES, make always re-haddocks the DPH packages. This also needs an additional fix to GHC. HsColour support still uses Cabal, and hence preprocesses the source files again. We could move this into the build system too, but there is a version dependency that would mean adding extra autoconf stuff.
-
- 04 Jan, 2010 1 commit
-
-
Simon Marlow authored
-
- 08 Jan, 2010 3 commits
-
-
Ian Lynagh authored
It was making incorrect URLs due to a shell script error.
-
simonpj@microsoft.com authored
This is an implementation matter really (the key word is "apparently"!). See Note [Specialising in no-dict case] in DsBinds. It showed up when compiling GHC.Float.
-
simonpj@microsoft.com authored
-
- 07 Jan, 2010 1 commit
-
-
simonpj@microsoft.com authored
More on Trac #597
-