- Apr 07, 2006
-
-
Simon Marlow authored
We weren't making them live early enough, with the result that finalizable objects referred to only by a thread blocked on a black hole could be finalized too early (see conc057 test).
-
Simon Marlow authored
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.
-
- Jan 21, 2006
-
-
Simon Marlow authored
-
Simon Marlow authored
-
- Apr 06, 2006
-
-
David Himmelstrup authored
-
David Himmelstrup authored
-
David Himmelstrup authored
-fignore-breakpoints can be used to ignore breakpoints.
-
Simon Marlow authored
This seems to be necessary to prevent readline being confused by our SIGALRM handler.
-
David Himmelstrup authored
-
- Apr 05, 2006
-
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- Mar 30, 2006
-
-
Duncan Coutts authored
-
Simon Marlow authored
-
Simon Marlow authored
The recent patch to free memory in hs_exit() on Win32 unfortunately broke profiling, because it freed the memory slightly too early.
-
- Mar 29, 2006
-
-
Simon Marlow authored
-
Simon Marlow authored
-
wolfgang authored
-
- Mar 23, 2006
-
-
wolfgang authored
-
- Mar 28, 2006
-
-
Simon Marlow authored
-
- Mar 27, 2006
-
-
Simon Marlow authored
This gives some control over affinity, while we figure out the best way to automatically schedule threads to make best use of the available parallelism. In addition to the primitive, there is also: GHC.Conc.forkOnIO :: Int -> IO () -> IO ThreadId where 'forkOnIO i m' creates a thread on Capability (i `rem` N), where N is the number of available Capabilities set by +RTS -N. Threads forked by forkOnIO do not automatically migrate when there are free Capabilities, like normal threads do. Still, if you're using forkOnIO exclusively, it's a good idea to do +RTS -qm to disable work pushing anyway (work pushing takes too much time when the run queues are large, this is something we need to fix).
-
Simon Marlow authored
-
Simon Marlow authored
-
- Mar 24, 2006
-
-
Simon Marlow authored
-
Simon Marlow authored
There are two new options in the -threaded RTS: -qm Don't automatically migrate threads between CPUs -qw Migrate a thread to the current CPU when it is woken up previously both of these were effectively off, i.e. threads were migrated between CPUs willy-milly, and threads were always migrated to the current CPU when woken up. This is the first step in tweaking the scheduling for more effective work balancing, there will no doubt be more to come.
-
Duncan Coutts authored
I think this missing dep is what broke my parallel build I used make -j2 with ghc-6.4.2.20060323 and got: ------------------------------------------------------------------------ ==fptools== make boot -wr --jobserver-fds=3,11 -j; in /var/tmp/portage/ghc-6.4.2_pre20060323/work/ghc-6.4.2.20060323/ghc/includes ------------------------------------------------------------------------ Creating ghcplatform.h... Done. gcc -O -O2 -march=k8 -pipe -Wa,--noexecstack -c mkDerivedConstants.c -o mkDerivedConstants.o In file included from ghcconfig.h:5, from Stg.h:42, from Rts.h:19, from mkDerivedConstants.c:20: ghcplatform.h:1:1: unterminated #ifndef Done. With this patch applied I can no longer repoduce this build bug. So I think this patch should be applied to the cvs ghc-6-4-branch too.
-
- Mar 27, 2006
-
-
Simon Marlow authored
-
David Himmelstrup authored
This is pretty important when using the linker/bytecode-compiler from binaries other than GHCi.
-
- Mar 25, 2006
-
-
wolfgang authored
... again. For now, I've added a TODO comment, but sooner or later this will have to be made gcc-version-independent.
-
- Mar 08, 2006
-
-
wolfgang authored
-
- Mar 24, 2006
-
-
wolfgang authored
-
Simon Marlow authored
-
Simon Marlow authored
-
- Mar 23, 2006
-
-
Volker Stolz authored
-
Simon Marlow authored
On x86_64 we are using C argument registers for global registers in the STG machine. This is always going to be problematic when it comes to making C calls from STG and compiling via C. Prior to GCC 4.1.0 (approx) it was possible to just assign the argument expressions to temporaries to avoid a clash. Now, we need to add an extra dummy function call as a barrier between the temporary assignments and the actual call. The dummy call is removed by the mangler.
-
- Mar 18, 2006
-
-
David Himmelstrup authored
I've removed -fno-code from Main to make it work equally well with --make and -c. I've also allowed it not to write hi files unless -fwrite-iface is given.
-
David Himmelstrup authored
-
David Himmelstrup authored
-
- Mar 22, 2006
-
-
Simon Marlow authored
-
Simon Marlow authored
We need to use GNUC3_ATTRIBUTE(used) to force gcc to keep the definition of StgRunIsImplementedInAssembler() around. In some cases we had already made this function external rather than static to get around the problem, but GNUC3_ATTRIBUTE(used) is a better fix.
-