- Nov 28, 2005
-
-
Simon Marlow authored
small tidyup for printing bindings with long identifiers: allow the binder and its definition to go on separate lines
-
Simon Marlow authored
Small performance improvement to STM: reduce the size of an atomically frame from 3 words to 2 words by combining the "waiting" boolean field with the info pointer, i.e. having two separate info tables/return addresses for an atomically frame, one for the normal case and one for the waiitng case.
-
Simon Marlow authored
small fix to debugging output
-
Simon Peyton Jones authored
Dont try to output code for "naughty" record selectors
-
Simon Peyton Jones authored
Document record syntax for GADTs and existentials (thanks Autrijus)
-
Simon Peyton Jones authored
Patch from Atrijus alleged to fix FreeBSD build
-
- Nov 25, 2005
-
-
Simon Marlow authored
We must empty the suspended_ccalling_tasks and the returning_task list when forking.
-
Simon Marlow authored
Modify some assertions that were occasionally incorrect
-
Simon Marlow authored
remove a misplaced RELEASE_LOCK
-
Simon Marlow authored
oops, undo previous (SMP.h is already included)
-
Simon Marlow authored
#include SMP.h
-
Simon Marlow authored
define wb() and xchg() for non-SMP versions of the RTS
-
Simon Marlow authored
-ddump-minimal-imports shouldn't turn off recompilation checking
-
Simon Marlow authored
sort packages by name and version in the 'ghc-pkg list' output
-
Simon Marlow authored
fix comment
-
Simon Marlow authored
object files don't use the .obj suffix on Windows.
-
- Nov 24, 2005
-
-
Simon Marlow authored
In SMP mode it is still possible for an update frame on the stack to point to an indirection, when two threads evaluate the same thunk (see comment for details). So we use the following trick: when the GC discovers an update frame pointing to an indirection, it changes the indirection to be an IND_PERM, so it will be retained rather than discarded.
-
Simon Marlow authored
fix some (thankfully harmless) typos
-
Simon Marlow authored
strictly speaking, we also need write barriers in the update code too (although gcc hasn't been caught doing any reordering here, as yet).
-
Simon Marlow authored
unlockClosure() requires a write barrier for the compiler - write barriers aren't required for the CPU, but gcc re-orders non-aliasing writes unless we use an explicit barrier. This only just showed up when we started compiling the RTS with -O2.
-
Simon Marlow authored
make this compile non-threaded again
-
Simon Marlow authored
lock down the global state in the StablePtr implementation
-
Simon Marlow authored
wibble
-
Simon Marlow authored
bugfix to rev. 1.3: we must fill the slop before writing the indirectee, because in the case of AP_STACK the indirectee will overwrite the size field of the closure.
-
Simon Marlow authored
bugfix to new raiseAsync_
-
Simon Peyton Jones authored
A patch to the already-somewhat-delicate machinery that deals with pattern-matching on unboxed tuples. This patch deals with pattern matches that can fail, e.g. case f x of (# Just x, Nothing #) -> ... The fix is in desugaring of HsCase (DsExpr.lhs). The test is dsrun013
-
- Nov 23, 2005
-
-
Simon Marlow authored
un-revert rev. 1.22, it wasn't the cause of last weekend's breakage
-
Simon Marlow authored
report the correct version number in the "compiled by GHC version.." message in a bootstrapped compiler.
-
Simon Marlow authored
fix up the GhcWithNativeCodeGen logic
-
Simon Marlow authored
Add "Why doesn't GHC have a .NET back end?"
-
Simon Marlow authored
make --mk-dll work with --make Submitted by: Esa Ilari Vuokko <eivuokko@gmail.com>, thanks!
-
- Nov 21, 2005
-
-
Tim Harris authored
Files missed from STM implementation changes
-
Tim Harris authored
Re-use temporary storage in the STM implementation
-
Simon Peyton Jones authored
Wibble to typerep (fixes crash I hope)
-
- Nov 19, 2005
-
-
Simon Marlow authored
fix repType after changes to the representation of type synonyms. This caused the stage2 compiler to crash, because various info tables misrepresented the pointerhood of constructor arguments.
-
Simon Marlow authored
something has gone wrong; I don't have time right now to find out exactly what, so revert rev. 1.22 in an attempt to fix it.
-
- Nov 18, 2005
-
-
Simon Marlow authored
fix threaded build
-
Simon Marlow authored
Two improvements to the SMP runtime: - support for 'par', aka sparks. Load balancing is very primitive right now, but I have seen programs that go faster using par. - support for backing off when a thread is found to be duplicating a computation currently underway in another thread. This also fixes some instability in SMP, because it turned out that when an update frame points to an indirection, which can happen if a thunk is under evaluation in multiple threads, then after GC has shorted out the indirection the update will trash the value. Now we suspend the duplicate computation to the heap before this can happen. Additionally: - stack squeezing is separate from lazy blackholing, and now only happens if there's a reasonable amount of squeezing to be done in relation to the number of words of stack that have to be moved. This means we won't try to shift 10Mb of stack just to save 2 words at the bottom (it probably never happened, but still). - update frames are now marked when they have been visited by lazy blackholing, as per the SMP paper. - cleaned up raiseAsync() a bit.
-
Simon Marlow authored
cosmetic
-
Simon Marlow authored
Add wcStore(), a write-combining store if supported (I tried using it in the update code and only succeeded in making things slower, but it might come in handy in the future)
-