Switch branches/tags
Commits on Apr 7, 2006
  1. Fix a bug related to threads blocked on blackholes

    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 committed Apr 7, 2006
  2. Reorganisation of the source tree

    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.
    Simon Marlow committed Apr 7, 2006
Commits on Apr 6, 2006
  1. GHC.Base.breakpoint isn't vaporware anymore.

    -fignore-breakpoints can be used to ignore breakpoints.
    Lemmih committed Apr 6, 2006
  2. Add SA_RESTART flag to the timer signal handler.

    This seems to be necessary to prevent readline being confused by our
    SIGALRM handler.
    Simon Marlow committed Apr 6, 2006
Commits on Apr 5, 2006
  1. add freeStorage() prototype

    Simon Marlow committed Apr 5, 2006
  2. add support for x86_64; foreign import is now supported in GHCi on x8…

    Simon Marlow committed Apr 5, 2006
Commits on Mar 30, 2006
  1. oops, undo accidental patch

    Simon Marlow committed Mar 30, 2006
  2. fix profiling on Win32

    The recent patch to free memory in hs_exit() on Win32 unfortunately broke
    profiling, because it freed the memory slightly too early.
    Simon Marlow committed Mar 30, 2006
Commits on Mar 29, 2006
  1. fix for GHC >= 6.5 again

    Simon Marlow committed Mar 29, 2006
  2. in stage1, we should get isPrint and isUpper from Compat.Unicode, not…

    … Data.Char
    Simon Marlow committed Mar 29, 2006
  3. Darwin/x86: correct stack alignment in ByteCodeFFI committed Mar 29, 2006
Commits on Mar 28, 2006
  1. add forkOnzh_fast symbol

    Simon Marlow committed Mar 28, 2006
Commits on Mar 27, 2006
  1. Add a new primitive forkOn#, for forking a thread on a specific Capab…

    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 committed Mar 27, 2006
  2. eliminate a warning

    Simon Marlow committed Mar 27, 2006
  3. elimiante a couple of warnings

    Simon Marlow committed Mar 27, 2006
  4. small updates

    Simon Marlow committed Mar 27, 2006
  5. Allow users of the GHC library to specify which packages have already…

    … been loaded.
    This is pretty important when using the linker/bytecode-compiler from binaries
    other than GHCi.
    Lemmih committed Mar 27, 2006
Commits on Mar 25, 2006
  1. Fix Darwin/x86 stack alignment

    ... again.
    For now, I've added a TODO comment, but sooner or later this will have to
    be made gcc-version-independent. committed Mar 25, 2006
Commits on Mar 24, 2006
  1. fix a warning

    Simon Marlow committed Mar 24, 2006
  2. Add some more flexibility to the multiproc scheduler

    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.
    Simon Marlow committed Mar 24, 2006
  3. mkDerivedConstants.c depends on ghcplatform.h

    I think this missing dep is what broke my parallel build
    I used make -j2 with ghc- and got:
    ==fptools== make boot -wr --jobserver-fds=3,11 -j;
    in /var/tmp/portage/ghc-6.4.2_pre20060323/work/ghc-
    Creating ghcplatform.h...
    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
    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.
    dcoutts committed Mar 24, 2006
  4. Darwin Mangler: include alignment statements for symbol stubs committed Mar 24, 2006
  5. omit the __DISCARD__() call if unregisterised

    Simon Marlow committed Mar 24, 2006
Commits on Mar 23, 2006
  1. Deal with non-executable memory on Darwin (only an issue on Darwin/x8…

    …6 so far) committed Mar 23, 2006
  2. Accept amd64-*-freebsd architecture

    Volker Stolz committed Mar 23, 2006
  3. gcc is getting smarter, so we need to hit it with a bigger stick

    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.
    Simon Marlow committed Mar 23, 2006
Commits on Mar 8, 2006
  1. Ranlib is required on Darwin/x86, too committed Mar 8, 2006
Commits on Jan 21, 2006
  1. remove empty dir

    Simon Marlow committed Jan 21, 2006
  2. rempve some unused files

    Simon Marlow committed Jan 21, 2006