ghc-hetmet.git
13 years agoGive the right exit code in darcs-all
Ian Lynagh [Wed, 21 Apr 2010 17:13:39 +0000 (17:13 +0000)]
Give the right exit code in darcs-all
Our END block was calling system, which alters $?. So now we save and
restore it.

13 years agoUse StgWord64 instead of ullong
Ian Lynagh [Wed, 21 Apr 2010 16:23:36 +0000 (16:23 +0000)]
Use StgWord64 instead of ullong
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.

13 years agoImplement try10Times in Makefile
Ian Lynagh [Tue, 20 Apr 2010 16:59:09 +0000 (16:59 +0000)]
Implement try10Times in Makefile
Avoid using seq, as FreeBSD has jot instead.

14 years agoFix crash in non-threaded RTS on Windows
Simon Marlow [Tue, 20 Apr 2010 12:21:25 +0000 (12:21 +0000)]
Fix crash in non-threaded RTS on Windows
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.

14 years agoExpand the scope of the event_buf_mutex to cover io_manager_event
Simon Marlow [Tue, 20 Apr 2010 12:20:26 +0000 (12:20 +0000)]
Expand the scope of the event_buf_mutex to cover io_manager_event
I once saw a failure that I think was due to a race on
io_manager_event, this should fix it.

14 years agoFlags -auto and -auto-all operate only on functions not marked INLINE.
Milan Straka [Wed, 31 Mar 2010 19:10:50 +0000 (19:10 +0000)]
Flags -auto and -auto-all operate only on functions not marked INLINE.

14 years agoSpelling correction for LANGUAGE pragmas
Max Bolingbroke [Tue, 13 Apr 2010 19:28:25 +0000 (19:28 +0000)]
Spelling correction for LANGUAGE pragmas

14 years agoUpdate the user guide so it talks about the newer "do rec" notation everywhere
Ian Lynagh [Fri, 16 Apr 2010 20:54:16 +0000 (20:54 +0000)]
Update the user guide so it talks about the newer "do rec" notation everywhere
Some of the problems highlighted in trac #3968.

14 years agoFix typo
Ian Lynagh [Fri, 16 Apr 2010 20:54:12 +0000 (20:54 +0000)]
Fix typo

14 years agoFix Trac #3950: unifying types of different kinds
simonpj@microsoft.com [Mon, 12 Apr 2010 15:18:45 +0000 (15:18 +0000)]
Fix Trac #3950: unifying types of different kinds

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]

14 years agoFix Trac #3943: incorrect unused-variable warning
simonpj@microsoft.com [Mon, 12 Apr 2010 15:16:30 +0000 (15:16 +0000)]
Fix Trac #3943: incorrect unused-variable warning

In fixing this I did the usual little bit of refactoring

14 years agoConvert boot and boot-pkgs to perl
Ian Lynagh [Thu, 15 Apr 2010 14:39:19 +0000 (14:39 +0000)]
Convert boot and boot-pkgs to perl
This stops us having to worry about sh/sed/... portability.

14 years agoUse $(MAKE), not make, when recursively calling make
Ian Lynagh [Thu, 15 Apr 2010 12:14:53 +0000 (12:14 +0000)]
Use $(MAKE), not make, when recursively calling make

14 years agoRemove the ghc_ge_609 makefile variables
Ian Lynagh [Mon, 12 Apr 2010 23:56:58 +0000 (23:56 +0000)]
Remove the ghc_ge_609 makefile variables
They are now guaranteed to be YES

14 years agoIncrease the minimum version number required to 6.10 in configure.ac
Ian Lynagh [Mon, 12 Apr 2010 23:53:13 +0000 (23:53 +0000)]
Increase the minimum version number required to 6.10 in configure.ac

14 years agoThe bootstrapping compiler is now required to be > 609
Ian Lynagh [Fri, 9 Apr 2010 16:10:46 +0000 (16:10 +0000)]
The bootstrapping compiler is now required to be > 609

14 years agoHandle IND_STATIC in isRetainer
Ian Lynagh [Fri, 9 Apr 2010 10:42:07 +0000 (10:42 +0000)]
Handle IND_STATIC in isRetainer
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.

14 years agoAdd Data and Typeable instances to HsSyn
David Waern [Tue, 30 Mar 2010 01:10:20 +0000 (01:10 +0000)]
Add Data and Typeable instances to HsSyn

The instances (and deriving declarations) have been taken from the ghc-syb
package.

14 years agoFix for derefing ThreadRelocated TSOs in MVar operations
Simon Marlow [Wed, 7 Apr 2010 09:28:24 +0000 (09:28 +0000)]
Fix for derefing ThreadRelocated TSOs in MVar operations

14 years agosanity check fix
Simon Marlow [Wed, 7 Apr 2010 09:27:46 +0000 (09:27 +0000)]
sanity check fix

14 years agoget the reg liveness right in the putMVar# heap check
Simon Marlow [Wed, 7 Apr 2010 09:27:24 +0000 (09:27 +0000)]
get the reg liveness right in the putMVar# heap check

14 years agoinitialise the headers of MSG_BLACKHOLE objects properly
Simon Marlow [Wed, 7 Apr 2010 08:17:12 +0000 (08:17 +0000)]
initialise the headers of MSG_BLACKHOLE objects properly

14 years agoinitialise the headers of MVAR_TSO_QUEUE objects properly
Simon Marlow [Wed, 7 Apr 2010 08:15:14 +0000 (08:15 +0000)]
initialise the headers of MVAR_TSO_QUEUE objects properly

14 years agoundo debugging code
Simon Marlow [Tue, 6 Apr 2010 14:27:40 +0000 (14:27 +0000)]
undo debugging code

14 years agoputMVar#: fix reg liveness in the heap check
Simon Marlow [Tue, 6 Apr 2010 13:58:32 +0000 (13:58 +0000)]
putMVar#: fix reg liveness in the heap check

14 years agoaccount for the new BLACKHOLEs in the GHCi debugger
Simon Marlow [Tue, 6 Apr 2010 13:34:06 +0000 (13:34 +0000)]
account for the new BLACKHOLEs in the GHCi debugger

14 years agodon't forget to deRefTSO() in tryWakeupThread()
Simon Marlow [Tue, 6 Apr 2010 13:04:11 +0000 (13:04 +0000)]
don't forget to deRefTSO() in tryWakeupThread()

14 years agoFix bug in popRunQueue
Simon Marlow [Tue, 6 Apr 2010 09:14:53 +0000 (09:14 +0000)]
Fix bug in popRunQueue

14 years agofix bug in migrateThread()
Simon Marlow [Thu, 1 Apr 2010 10:58:40 +0000 (10:58 +0000)]
fix bug in migrateThread()

14 years agoRemove the IND_OLDGEN and IND_OLDGEN_PERM closure types
Simon Marlow [Thu, 1 Apr 2010 09:35:19 +0000 (09:35 +0000)]
Remove the IND_OLDGEN and IND_OLDGEN_PERM closure types
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.

14 years agoChange the representation of the MVar blocked queue
Simon Marlow [Thu, 1 Apr 2010 09:16:05 +0000 (09:16 +0000)]
Change the representation of the MVar blocked queue

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.

14 years agoeliminate some duplication with a bit of CPP
Simon Marlow [Tue, 30 Mar 2010 15:43:55 +0000 (15:43 +0000)]
eliminate some duplication with a bit of CPP

14 years agoMake ioManagerDie() idempotent
Simon Marlow [Thu, 1 Apr 2010 10:07:05 +0000 (10:07 +0000)]
Make ioManagerDie() idempotent
Avoids screeds of "event buffer overflowed; event dropped" in
conc059(threaded1).

14 years agoMove a thread to the front of the run queue when another thread blocks on it
Simon Marlow [Mon, 29 Mar 2010 14:45:21 +0000 (14:45 +0000)]
Move a thread to the front of the run queue when another thread blocks on it
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.

14 years agoremove non-existent MUT_CONS symbols
Simon Marlow [Tue, 30 Mar 2010 15:26:00 +0000 (15:26 +0000)]
remove non-existent MUT_CONS symbols

14 years agochange throwTo to use tryWakeupThread rather than unblockOne
Simon Marlow [Mon, 29 Mar 2010 14:46:13 +0000 (14:46 +0000)]
change throwTo to use tryWakeupThread rather than unblockOne

14 years agotiny GC optimisation
Simon Marlow [Mon, 29 Mar 2010 14:45:51 +0000 (14:45 +0000)]
tiny GC optimisation

14 years agoNew implementation of BLACKHOLEs
Simon Marlow [Mon, 29 Mar 2010 14:44:56 +0000 (14:44 +0000)]
New implementation of BLACKHOLEs

This replaces the global blackhole_queue with a clever scheme that
enables us to queue up blocked threads on the closure that they are
blocked on, while still avoiding atomic instructions in the common
case.

Advantages:

 - gets rid of a locked global data structure and some tricky GC code
   (replacing it with some per-thread data structures and different
   tricky GC code :)

 - wakeups are more prompt: parallel/concurrent performance should
   benefit.  I haven't seen anything dramatic in the parallel
   benchmarks so far, but a couple of threading benchmarks do improve
   a bit.

 - waking up a thread blocked on a blackhole is now O(1) (e.g. if
   it is the target of throwTo).

 - less sharing and better separation of Capabilities: communication
   is done with messages, the data structures are strictly owned by a
   Capability and cannot be modified except by sending messages.

 - this change will utlimately enable us to do more intelligent
   scheduling when threads block on each other.  This is what started
   off the whole thing, but it isn't done yet (#3838).

I'll be documenting all this on the wiki in due course.

14 years agoFix warnings (allow pushOnRunQueue() to not be inlined)
Simon Marlow [Thu, 1 Apr 2010 11:45:59 +0000 (11:45 +0000)]
Fix warnings (allow pushOnRunQueue() to not be inlined)

14 years agoremove out of date comment
Simon Marlow [Thu, 1 Apr 2010 10:58:53 +0000 (10:58 +0000)]
remove out of date comment

14 years agotidy up spacing in stderr traces
Simon Marlow [Fri, 26 Mar 2010 16:31:22 +0000 (16:31 +0000)]
tidy up spacing in stderr traces

14 years agoFix an assertion that was not safe when running in parallel
Simon Marlow [Thu, 25 Mar 2010 14:36:56 +0000 (14:36 +0000)]
Fix an assertion that was not safe when running in parallel

14 years agoNever jump directly to a thunk's entry code, even if it is single-entry
Simon Marlow [Thu, 25 Mar 2010 11:48:47 +0000 (11:48 +0000)]
Never jump directly to a thunk's entry code, even if it is single-entry
I don't think this fixes any bugs as we don't have single-entry thunks
at the moment, but it could cause problems for parallel execution if
we ever did re-introduce update avoidance.

14 years agoRename forgotten -dverbose-simpl to -dverbose-core2core in the docs.
Milan Straka [Wed, 31 Mar 2010 15:36:26 +0000 (15:36 +0000)]
Rename forgotten -dverbose-simpl to -dverbose-core2core in the docs.

14 years agoAdd -pa and -V to the documentation of time profiling options.
Milan Straka [Mon, 29 Mar 2010 19:11:21 +0000 (19:11 +0000)]
Add -pa and -V to the documentation of time profiling options.

14 years agoKeep gcc 4.5 happy
Simon Marlow [Tue, 30 Mar 2010 12:04:25 +0000 (12:04 +0000)]
Keep gcc 4.5 happy

14 years agoFix warning compiling Linker.c for PPC Mac
naur@post11.tele.dk [Sat, 3 Apr 2010 18:23:55 +0000 (18:23 +0000)]
Fix warning compiling Linker.c for PPC Mac
The warning message eliminated is:
> rts/Linker.c:4756:0:
>      warning: nested extern declaration of 'symbolsWithoutUnderscore'

14 years agoFix error compiling AsmCodeGen.lhs for PPC Mac (mkRtsCodeLabel)
naur@post11.tele.dk [Sat, 3 Apr 2010 18:16:56 +0000 (18:16 +0000)]
Fix error compiling AsmCodeGen.lhs for PPC Mac (mkRtsCodeLabel)
The error messages eliminated are:
> compiler/nativeGen/AsmCodeGen.lhs:875:31:
>     Not in scope: `mkRtsCodeLabel'
> compiler/nativeGen/AsmCodeGen.lhs:879:31:
>     Not in scope: `mkRtsCodeLabel'
> compiler/nativeGen/AsmCodeGen.lhs:883:31:
>     Not in scope: `mkRtsCodeLabel'

14 years agoFix error compiling AsmCodeGen.lhs for PPC Mac (DestBlockId)
naur@post11.tele.dk [Sat, 3 Apr 2010 18:06:43 +0000 (18:06 +0000)]
Fix error compiling AsmCodeGen.lhs for PPC Mac (DestBlockId)
The error message eliminated is:
> compiler/nativeGen/AsmCodeGen.lhs:637:16:
>     Not in scope: data constructor `DestBlockId'

14 years agoFix boot-pkgs's sed usage to work with Solaris's sed
Ian Lynagh [Thu, 1 Apr 2010 15:34:41 +0000 (15:34 +0000)]
Fix boot-pkgs's sed usage to work with Solaris's sed

14 years agoPass "-i org.haskell.GHC" to packagemaker when building the OS X installer
Ian Lynagh [Wed, 31 Mar 2010 14:47:07 +0000 (14:47 +0000)]
Pass "-i org.haskell.GHC" to packagemaker when building the OS X installer
This seems to fix this failure:
[...]
** BUILD SUCCEEDED **
rm -f -f GHC-system.pmdoc/*-contents.xml
/Developer/usr/bin/packagemaker -v --doc GHC-system.pmdoc\
             -o /Users/ian/to_release/ghc-6.12.1.20100330/GHC-6.12.1.20100330-i386.pkg
2010-03-31 15:08:15.695 packagemaker[13909:807] Setting to : 0 (null)
2010-03-31 15:08:15.709 packagemaker[13909:807] Setting to : 0 org.haskell.glasgowHaskellCompiler.ghc.pkg
2010-03-31 15:08:15.739 packagemaker[13909:807] relocate: (null) 0
2010-03-31 15:08:15.740 packagemaker[13909:807] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSXMLDocument initWithXMLString:options:error:]: nil argument'
2010-03-31 15:08:15.741 packagemaker[13909:807] Stack: (
    2511962091,
    2447007291,
    2511961547,
    2511961610,
    2432803204,
    453371,
    447720,
    436209,
    435510,
    9986,
    9918
)
make[1]: *** [framework-pkg] Trace/BPT trap
make: *** [framework-pkg] Error 2

14 years agoUse machdepCCOpts when compiling the file to toggle -(no-)rtsopts
Ian Lynagh [Wed, 31 Mar 2010 16:13:02 +0000 (16:13 +0000)]
Use machdepCCOpts when compiling the file to toggle -(no-)rtsopts
Should fix toggling on OS X "Snow Leopard". Diagnosed by Roman Leshchinskiy.

14 years agoAvoid a non-portable use of tar reported by Roman Leshchinskiy
Ian Lynagh [Tue, 30 Mar 2010 14:58:02 +0000 (14:58 +0000)]
Avoid a non-portable use of tar reported by Roman Leshchinskiy

14 years agoDon't install EXTRA_PACKAGES by default
Simon Marlow [Tue, 30 Mar 2010 14:27:14 +0000 (14:27 +0000)]
Don't install EXTRA_PACKAGES by default

14 years agofix a non-portable printf format
Simon Marlow [Tue, 30 Mar 2010 13:44:37 +0000 (13:44 +0000)]
fix a non-portable printf format

14 years agoavoid single quote in #error
Simon Marlow [Tue, 30 Mar 2010 12:03:46 +0000 (12:03 +0000)]
avoid single quote in #error

14 years agouse FMT_Word64 instead of locally-defined version
Simon Marlow [Tue, 30 Mar 2010 11:46:50 +0000 (11:46 +0000)]
use FMT_Word64 instead of locally-defined version

14 years agoremove old/unused DotnetSupport and GhcLibsWithUnix
Simon Marlow [Tue, 30 Mar 2010 12:37:32 +0000 (12:37 +0000)]
remove old/unused DotnetSupport and GhcLibsWithUnix

14 years agofix return type cast in f.i.wrapper when using libffi (#3516)
Simon Marlow [Mon, 29 Mar 2010 15:42:20 +0000 (15:42 +0000)]
fix return type cast in f.i.wrapper when using libffi (#3516)

Original fix submitted by
  Sergei Trofimovich <slyfox@community.haskell.org>
modified by me:
 - exclude 64-bit types
 - compare uniques, not strings
 - #include "ffi.h" is conditional

14 years agolibffi: install 'ffitarget.h' header as sole 'ffi.h' is unusable
Simon Marlow [Mon, 29 Mar 2010 13:57:34 +0000 (13:57 +0000)]
libffi: install 'ffitarget.h' header as sole 'ffi.h' is unusable
Submitted by: Sergei Trofimovich <slyfox@community.haskell.org>
Re-recorded against HEAD.

14 years agoavoid a fork deadlock (see comments)
Simon Marlow [Mon, 29 Mar 2010 13:23:29 +0000 (13:23 +0000)]
avoid a fork deadlock (see comments)

14 years agotidy up the end of the all_tasks list after forking
Simon Marlow [Mon, 29 Mar 2010 13:22:53 +0000 (13:22 +0000)]
tidy up the end of the all_tasks list after forking

14 years agoAdd a 'setKeepCAFs' external function (#3900)
Simon Marlow [Mon, 29 Mar 2010 11:00:36 +0000 (11:00 +0000)]
Add a 'setKeepCAFs' external function (#3900)

14 years agoExplicitly check whether ar supports the @file syntax
Ian Lynagh [Mon, 29 Mar 2010 12:33:25 +0000 (12:33 +0000)]
Explicitly check whether ar supports the @file syntax
rather than assuming that all GNU ar's do.
Apparently OpenBSD's older version doesn't.

14 years agoFix the format specifier for Int64/Word64 on Windows
Ian Lynagh [Sat, 27 Mar 2010 18:21:26 +0000 (18:21 +0000)]
Fix the format specifier for Int64/Word64 on Windows
mingw doesn't understand %llu/%lld - it treats them as 32-bit rather
than 64-bit. We use %I64u/%I64d instead.

14 years agoFix the ghci startmenu item
Ian Lynagh [Fri, 26 Mar 2010 23:59:34 +0000 (23:59 +0000)]
Fix the ghci startmenu item
I'm not sure what changed, but it now doesn't work for me without
the "Start in" field being set.

14 years agoFix paths to docs in "Start Menu" entries in Windows installer; fixes #3847
Ian Lynagh [Fri, 26 Mar 2010 15:59:17 +0000 (15:59 +0000)]
Fix paths to docs in "Start Menu" entries in Windows installer; fixes #3847

14 years agoAdd a licence file for the Windows installer to use
Ian Lynagh [Fri, 26 Mar 2010 15:51:30 +0000 (15:51 +0000)]
Add a licence file for the Windows installer to use

14 years agoAdd gcc-g++ to the inplace mingw installation; fixes #3893
Ian Lynagh [Fri, 26 Mar 2010 15:47:14 +0000 (15:47 +0000)]
Add gcc-g++ to the inplace mingw installation; fixes #3893

14 years agoAdd the licence file to the Windows installer. Fixes #3934
Ian Lynagh [Fri, 26 Mar 2010 15:24:49 +0000 (15:24 +0000)]
Add the licence file to the Windows installer. Fixes #3934

14 years agoQuote the paths to alex and happy in configure
Ian Lynagh [Thu, 25 Mar 2010 14:34:49 +0000 (14:34 +0000)]
Quote the paths to alex and happy in configure

14 years agoUse </> rather than ++ "/"
Ian Lynagh [Thu, 25 Mar 2010 13:32:37 +0000 (13:32 +0000)]
Use </> rather than ++ "/"
This stops us generating paths like
    c:\foo\/ghc460_0/ghc460_0.o
which windres doesn't understand.

14 years agoAppend $(exeext) to utils/ghc-pkg_dist_PROG
Ian Lynagh [Wed, 24 Mar 2010 23:34:47 +0000 (23:34 +0000)]
Append $(exeext) to utils/ghc-pkg_dist_PROG
Fixes bindist creation

14 years agoA sanity check
Simon Marlow [Thu, 25 Mar 2010 11:05:00 +0000 (11:05 +0000)]
A sanity check

14 years agodo_checks: do not set HpAlloc if the stack check fails
Simon Marlow [Thu, 25 Mar 2010 11:03:28 +0000 (11:03 +0000)]
do_checks: do not set HpAlloc if the stack check fails

This fixes a very rare heap corruption bug, whereby

 - a context switch is requested, which sets HpLim to zero
   (contextSwitchCapability(), called by the timer signal or
   another Capability).

 - simultaneously a stack check fails, in a code fragment that has
   both a stack and a heap check.

The RTS then assumes that a heap-check failure has occurred and
subtracts HpAlloc from Hp, although in fact it was a stack-check
failure and retreating Hp will overwrite valid heap objects.  The bug
is that HpAlloc should only be set when Hp has been incremented by the
heap check.  See comments in rts/HeapStackCheck.cmm for more details.

This bug is probably incredibly rare in practice, but I happened to be
working on a test that triggers it reliably:
concurrent/should_run/throwto001, compiled with -O -threaded, args 30
300 +RTS -N2, run repeatedly in a loop.

14 years agocomments and formatting only
Simon Marlow [Thu, 25 Mar 2010 10:46:17 +0000 (10:46 +0000)]
comments and formatting only

14 years agoChange how perl scripts get installed; partially fixes #3863
Ian Lynagh [Wed, 24 Mar 2010 17:14:22 +0000 (17:14 +0000)]
Change how perl scripts get installed; partially fixes #3863
We now regenerate them when installing, which means the path for perl
doesn't get baked in

14 years agoPass the location of gcc in the ghc wrapper script; partially fixes #3863
Ian Lynagh [Wed, 24 Mar 2010 17:14:08 +0000 (17:14 +0000)]
Pass the location of gcc in the ghc wrapper script; partially fixes #3863
This means we don't rely on baking a path to gcc into the executable

14 years agoQuote the ar path in configure
Ian Lynagh [Wed, 24 Mar 2010 16:20:43 +0000 (16:20 +0000)]
Quote the ar path in configure

14 years agoRemove unused cUSER_WAY_NAMES cUSER_WAY_OPTS
Ian Lynagh [Wed, 24 Mar 2010 14:50:48 +0000 (14:50 +0000)]
Remove unused cUSER_WAY_NAMES cUSER_WAY_OPTS

14 years agoRemove unused cCONTEXT_DIFF
Ian Lynagh [Wed, 24 Mar 2010 14:50:13 +0000 (14:50 +0000)]
Remove unused cCONTEXT_DIFF

14 years agoRemove unused cEnableWin32DLLs
Ian Lynagh [Wed, 24 Mar 2010 14:48:41 +0000 (14:48 +0000)]
Remove unused cEnableWin32DLLs

14 years agoRemove unused cGHC_CP
Ian Lynagh [Wed, 24 Mar 2010 14:46:56 +0000 (14:46 +0000)]
Remove unused cGHC_CP

14 years agoFix the build for non-GNU-ar
Ian Lynagh [Wed, 24 Mar 2010 13:29:07 +0000 (13:29 +0000)]
Fix the build for non-GNU-ar

14 years agoTweak the Makefile code for making .a libs; fixes trac #3642
Ian Lynagh [Tue, 23 Mar 2010 22:13:25 +0000 (22:13 +0000)]
Tweak the Makefile code for making .a libs; fixes trac #3642
The main change is that, rather than using "xargs ar" we now put
all the filenames into a file, and do "ar @file". This means that
ar adds all the files at once, which works around a problem where
files with the same basename in a later invocation were overwriting
the existing file in the .a archive.

14 years agoEnable shared libraries on Windows; fixes trac #3879
Ian Lynagh [Sat, 20 Mar 2010 23:14:14 +0000 (23:14 +0000)]
Enable shared libraries on Windows; fixes trac #3879

14 years agoAdd the external core PDF to the new build system
Ian Lynagh [Sun, 21 Mar 2010 16:19:09 +0000 (16:19 +0000)]
Add the external core PDF to the new build system

14 years agoAllow specifying $threads directly when validating
Ian Lynagh [Sun, 21 Mar 2010 11:28:35 +0000 (11:28 +0000)]
Allow specifying $threads directly when validating

14 years agoRemove LazyUniqFM; fixes trac #3880
Ian Lynagh [Sat, 20 Mar 2010 21:38:37 +0000 (21:38 +0000)]
Remove LazyUniqFM; fixes trac #3880

14 years agoUNDO: slight improvement to scavenging ...
Simon Marlow [Fri, 19 Mar 2010 15:34:13 +0000 (15:34 +0000)]
UNDO: slight improvement to scavenging ...

Accidnetally pushed this patch which, while it validates, isn't
correct.

rolling back:

Fri Mar 19 11:21:27 GMT 2010  Simon Marlow <marlowsd@gmail.com>
  * slight improvement to scavenging of update frames when a collision has occurred

    M ./rts/sm/Scav.c -19 +15

14 years agoslight improvement to scavenging of update frames when a collision has occurred
Simon Marlow [Fri, 19 Mar 2010 11:21:27 +0000 (11:21 +0000)]
slight improvement to scavenging of update frames when a collision has occurred

14 years agoDon't install the utf8-string package
Ian Lynagh [Wed, 17 Mar 2010 21:27:09 +0000 (21:27 +0000)]
Don't install the utf8-string package

14 years agoDon't use -Bsymbolic when linking the RTS
Ian Lynagh [Tue, 16 Mar 2010 23:33:57 +0000 (23:33 +0000)]
Don't use -Bsymbolic when linking the RTS
This makes the RTS hooks work when doing dynamic linking

14 years agoFix Trac #3920: Template Haskell kinds
simonpj@microsoft.com [Wed, 17 Mar 2010 12:35:19 +0000 (12:35 +0000)]
Fix Trac #3920: Template Haskell kinds

Fix two places where we were doing foldl instead of foldr
after decomposing a Kind.  Strange that the same bug appears
in two quite different places!

14 years agocopy_tag_nolock(): fix write ordering and add a write_barrier()
Simon Marlow [Tue, 16 Mar 2010 14:31:03 +0000 (14:31 +0000)]
copy_tag_nolock(): fix write ordering and add a write_barrier()

Fixes a rare crash in the parallel GC.

If we copy a closure non-atomically during GC, as we do for all
immutable values, then before writing the forwarding pointer we better
make sure that the closure itself is visible to other threads that
might follow the forwarding pointer.  I imagine this doesn't happen
very often, but I just found one case of it: in scavenge_stack, the
RET_FUN case, after evacuating ret_fun->fun we then follow it and look
up the info pointer.

14 years agoAdd sliceP mapping to vectoriser builtins
benl@ouroborus.net [Tue, 16 Mar 2010 06:05:17 +0000 (06:05 +0000)]
Add sliceP mapping to vectoriser builtins

14 years agoComments only
benl@ouroborus.net [Thu, 11 Mar 2010 06:45:18 +0000 (06:45 +0000)]
Comments only

14 years agoWhen saying RTS options are disabled, also say how to enable them 2010-03-16
Ian Lynagh [Mon, 15 Mar 2010 17:35:41 +0000 (17:35 +0000)]
When saying RTS options are disabled, also say how to enable them

14 years agoFix profiling build following removal of specific STM object types
Simon Marlow [Mon, 15 Mar 2010 09:32:56 +0000 (09:32 +0000)]
Fix profiling build following removal of specific STM object types

14 years agoWhen compiling with GHC >= 6.13, use -rtsopts
Ian Lynagh [Sun, 14 Mar 2010 17:20:18 +0000 (17:20 +0000)]
When compiling with GHC >= 6.13, use -rtsopts