1. 27 Mar, 2005 1 commit
    • panne's avatar
      [project @ 2005-03-27 13:41:13 by panne] · 03dc2dd3
      panne authored
      * Some preprocessors don't like the C99/C++ '//' comments after a
        directive, so use '/* */' instead. For consistency, a lot of '//' in
        the include files were converted, too.
      
      * UnDOSified libraries/base/cbits/runProcess.c.
      
      * My favourite sport: Killed $Id$s.
      03dc2dd3
  2. 22 Mar, 2005 1 commit
  3. 18 Mar, 2005 1 commit
  4. 17 Mar, 2005 1 commit
  5. 09 Mar, 2005 1 commit
    • wolfgang's avatar
      [project @ 2005-03-09 08:51:31 by wolfgang] · abde5fdf
      wolfgang authored
      Retain all CAFs when dynamic Haskell libraries are used from GHCi.
      The Linker usually replaces references to newCAF with references to newDynCAF,
      but the system dynamic linker won't do that for us.
      
      Also, the situation is slightly different - we never want CAFs from dylibs
      to be reverted, because the dylibs might be used both by the interpreted
      program and by GHCi itself.
      
      So instead of just caf_list, there's now both caf_list and revertible_caf_list.
      newDynCAF adds a CAF to revertible_caf_list, and newCAF either adds the CAF
      to caf_list or to the mutable list, depending on whether we are in GHCi.
      
      This hack is only active when Linker.c has loaded libHSbase_dyn.[so|dylib],
      but for now, it applies to all CAFs, not just dynamically-linked ones.
      If that is worth fixing, we could do that by checking whether the the CAF
      closure or it's info pointer is in the main executable's address range.
      
      MERGE TO STABLE
      abde5fdf
  6. 08 Mar, 2005 2 commits
  7. 04 Mar, 2005 1 commit
    • simonmar's avatar
      [project @ 2005-03-04 12:01:11 by simonmar] · 7f5ad47f
      simonmar authored
      include ghcautoconf.h rather than ghcconfig.h, the reason being that
      this file is included form the compiler, and we don't want the
      platform defines from ghcplatform.h.
      7f5ad47f
  8. 02 Mar, 2005 1 commit
  9. 28 Feb, 2005 2 commits
    • simonmar's avatar
      [project @ 2005-02-28 17:12:36 by simonmar] · b4dae163
      simonmar authored
      Back out previous change; something broke, I'll look into it later
      b4dae163
    • simonmar's avatar
      [project @ 2005-02-28 17:01:13 by simonmar] · 6d194f48
      simonmar authored
      Optimisation: the update code only needs to check whether the closure
      being updated is a BLACKHOLE_BQ if it has been blackholed; which is
      only the case after lazy blackholing has taken place.
      
      So to avoid this unnecessary cost, we have two kinds of update frame:
      one which checks for BLACKHOLE_BQ and one that doesn't, and the lazy
      blackholing algorithm converts the latter kind into the former as it
      replaces thunks with blackholes.
      6d194f48
  10. 23 Feb, 2005 1 commit
  11. 21 Feb, 2005 1 commit
  12. 16 Feb, 2005 1 commit
  13. 11 Feb, 2005 1 commit
  14. 10 Feb, 2005 1 commit
    • simonmar's avatar
      [project @ 2005-02-10 13:01:52 by simonmar] · e7c3f957
      simonmar authored
      GC changes: instead of threading old-generation mutable lists
      through objects in the heap, keep it in a separate flat array.
      
      This has some advantages:
      
        - the IND_OLDGEN object is now only 2 words, so the minimum
          size of a THUNK is now 2 words instead of 3.  This saves
          some amount of allocation (about 2% on average according to
          my measurements), and is more friendly to the cache by
          squashing objects together more.
      
        - keeping the mutable list separate from the IND object
          will be necessary for our multiprocessor implementation.
      
        - removing the mut_link field makes the layout of some objects
          more uniform, leading to less complexity and special cases.
      
        - I also unified the two mutable lists (mut_once_list and mut_list)
          into a single mutable list, which lead to more simplifications
          in the GC.
      e7c3f957
  15. 09 Feb, 2005 1 commit
  16. 03 Feb, 2005 1 commit
  17. 01 Feb, 2005 1 commit
  18. 31 Jan, 2005 1 commit
  19. 28 Jan, 2005 3 commits
    • krasimir's avatar
      [project @ 2005-01-28 23:33:51 by krasimir] · 6317d554
      krasimir authored
      - The output from uncaught exceptions handler is redirected to RTS's errorBelch.
      - The output from Debug.Trace is redirected to RTS's debugBelch
      - Usually errorBelch and debugBelch messages go to stderr except for
      Windows GUI applications. For GUI applications the Debug.Trace output is
      redirected to debug console and the exceptions message is displayed in message box.
      6317d554
    • simonmar's avatar
      [project @ 2005-01-28 14:01:08 by simonmar] · 81066717
      simonmar authored
      Here's a file I forgot to add.
      
      NB. ghcconfig.h is now a *source file*.  If you're using a linked
      build tree, please remove it from ghc/includes and re-link (in fact,
      you probabaly need a make clean in ghc/includes at least).
      81066717
    • simonmar's avatar
      [project @ 2005-01-28 12:55:17 by simonmar] · 153b9cb9
      simonmar authored
      Rationalise the BUILD,HOST,TARGET defines.
      
      Recall that:
      
        - build is the platform we're building on
        - host is the platform we're running on
        - target is the platform we're generating code for
      
      The change is that now we take these definitions as applying from the
      point of view of the particular source code being built, rather than
      the point of view of the whole build tree.
      
      For example, in RTS and library code, we were previously testing the
      TARGET platform.  But under the new rule, the platform on which this
      code is going to run is the HOST platform.  TARGET only makes sense in
      the compiler sources.
      
      In practical terms, this means that the values of BUILD, HOST & TARGET
      may vary depending on which part of the build tree we are in.
      
      Actual changes:
      
       - new file: includes/ghcplatform.h contains platform defines for
         the RTS and library code.
      
       - new file: includes/ghcautoconf.h contains the autoconf settings
         only (HAVE_BLAH).  This is so that we can get hold of these
         settings independently of the platform defines when necessary
         (eg. in GHC).
      
       - ghcconfig.h now #includes both ghcplatform.h and ghcautoconf.h.
      
       - MachRegs.h, which is included into both the compiler and the RTS,
         now has to cope with the fact that it might need to test either
         _TARGET_ or _HOST_ depending on the context.
      
       - the compiler's Makefile now generates
           stage{1,2,3}/ghc_boot_platform.h
         which contains platform defines for the compiler.  These differ
         depending on the stage, of course: in stage2, the HOST is the
         TARGET of stage1.  This was wrong before.
      
       - The compiler doesn't get platform info from Config.hs any more.
         Previously it did (sometimes), but unless we want to generate
         a new Config.hs for each stage we can't do this.
      
       - GHC now helpfully defines *_{BUILD,HOST}_{OS,ARCH} automatically
         in CPP'd Haskell source.
      
       - ghcplatform.h defines *_TARGET_* for backwards compatibility
         (ghcplatform.h is included by ghcconfig.h, which is included by
         config.h, so code which still #includes config.h will get the TARGET
         settings as before).
      
       - The Users's Guide is updated to mention *_HOST_* rather than
         *_TARGET_*.
      
       - coding-style.html in the commentary now contains a section on
         platform defines.  There are further doc updates to come.
      
      Thanks to Wolfgang Thaller for pointing me in the right direction.
      153b9cb9
  20. 19 Jan, 2005 1 commit
  21. 13 Jan, 2005 4 commits
  22. 12 Jan, 2005 1 commit
    • simonmar's avatar
      [project @ 2005-01-12 12:36:28 by simonmar] · 96757f6a
      simonmar authored
      Numerous bug fixes to the STM code, mostly from a debugging session
      with Tim Harris.  The test that flushed out all the bugs will shortly
      be added to the test suite.
      96757f6a
  23. 10 Jan, 2005 1 commit
    • wolfgang's avatar
      [project @ 2005-01-10 18:44:38 by wolfgang] · 0aca2f00
      wolfgang authored
      Handle foreign import wrapper properly for MacOS X, powerpc64-linux and AIX.
      Only Mac OS X tested so far.
      Pass information about argument types from DsForeign to createAdjustor encoded
      as a string ('i' for integers, 'f' for floats, 'd' for doubles and 'l' for
      long [64bit] integers).
      0aca2f00
  24. 21 Nov, 2004 1 commit
    • desrt's avatar
      [project @ 2004-11-21 22:25:23 by desrt] · a1947dc7
      desrt authored
      rtsconfig, smrep: fixes to not put info next to code (like ia64)
      machregs: define registers for powerpc64 - same as ppc32
      tailcalls: for now do tailcalls as normal calls. (ok on powerpc since
                 calls don't grow the stack and we don't care about LR anyway)
      a1947dc7
  25. 19 Nov, 2004 1 commit
  26. 18 Nov, 2004 1 commit
  27. 11 Nov, 2004 1 commit
  28. 10 Nov, 2004 2 commits
  29. 09 Nov, 2004 1 commit
  30. 08 Nov, 2004 1 commit
  31. 15 Oct, 2004 1 commit
  32. 08 Oct, 2004 1 commit
    • ross's avatar
      [project @ 2004-10-08 10:16:14 by ross] · 8af72d7e
      ross authored
      Make the sed command turning '#define PACKAGE_FOO "blah"' into
      '/* #undef PACKAGE_FOO */' more portable, though a tad less precise.
      
      The use of \| deep inside the pattern is a GNU extension (from sed 2.05).
      8af72d7e