1. 12 Apr, 2005 1 commit
  2. 11 Apr, 2005 1 commit
  3. 10 Apr, 2005 1 commit
  4. 07 Apr, 2005 6 commits
    • simonmar's avatar
      [project @ 2005-04-07 21:27:10 by simonmar] · ce1a3417
      simonmar authored
      Fix compiling for way p
      ce1a3417
    • simonmar's avatar
      [project @ 2005-04-07 15:56:34 by simonmar] · 5000229d
      simonmar authored
      A much simpler way of stopping all the other threads to do a GC in SMP
      mode: the thread that wants to do GC just acquires all the
      capabilities, and releases them after doing the GC.
      5000229d
    • simonmar's avatar
      [project @ 2005-04-07 15:53:01 by simonmar] · 2109f5e2
      simonmar authored
      resetNurseries: tidy up
      2109f5e2
    • simonmar's avatar
      [project @ 2005-04-07 14:33:30 by simonmar] · 5a148f04
      simonmar authored
      Support handling signals in the threaded RTS by passing the signal
      number down the pipe to the IO manager.  This avoids needing
      synchronisation in the signal handler.
      
      Signals should now work with -threaded.  Since this is a bugfix, I'll
      merge the changes into the 6.4 branch.
      5a148f04
    • wolfgang's avatar
      [project @ 2005-04-07 06:25:54 by wolfgang] · 9761a5ec
      wolfgang authored
      Mac OS X: Work around a subtle bug/strangeness/"feature" in Apple's toolchain
      that affects machoInitSymbolsWithoutUnderscore().
      (The symbolsWithoutUnderscore symbol must be .globl, otherwise incorrect code
      will be generated to refer to it)
      
      This has already been MERGED TO STABLE as part of the previous commit.
      9761a5ec
    • wolfgang's avatar
      [project @ 2005-04-07 05:27:16 by wolfgang] · d79c1cb2
      wolfgang authored
      Set the keepCAFs flag (required for GHCi with dynamic libraries) from an
      __attribute__((constructor)) function linked to stage 2 ghc if GhcBuildDylibs
      is set in mk/build.mk.
      
      The previous hack (setting it from addDLL) didn't work, because a few CAFs
      from libHSbase_dyn were evaluated before the Linker was first invoked by
      GHCi.
      
      MERGE TO STABLE
      d79c1cb2
  5. 06 Apr, 2005 4 commits
  6. 05 Apr, 2005 6 commits
    • simonmar's avatar
      [project @ 2005-04-05 12:19:54 by simonmar] · 16214216
      simonmar authored
      Some multi-processor hackery, including
      
        - Don't hang blocked threads off BLACKHOLEs any more, instead keep
          them all on a separate queue which is checked periodically for
          threads to wake up.
      
          This is good because (a) we don't have to worry about locking the
          closure in SMP mode when we want to block on it, and (b) it means
          the standard update code doesn't need to wake up any threads or
          check for a BLACKHOLE_BQ, simplifying the update code.
      
          The downside is that if there are lots of threads blocked on
          BLACKHOLEs, we might have to do a lot of repeated list traversal.
          We don't expect this to be common, though.  conc023 goes slower
          with this change, but we expect most programs to benefit from the
          shorter update code.
      
        - Fixing up the Capability code to handle multiple capabilities (SMP
          mode), and related changes to get the SMP mode at least building.
      16214216
    • simonmar's avatar
      [project @ 2005-04-05 09:38:00 by simonmar] · 3f4fd743
      simonmar authored
      Main x86_64 hacking: we have a problem on this arch where binutils
      can't generate 64-bit relative relocations (R_X86_64_PC64), which many
      of our info-table fields are.  So far we've been hacking around it by
      putting everything in the text section, but I've decided to adopt
      another approach: we'll use explicit 32-bit offset fields on this
      platform instead.  This is safe in the default "small" memory model
      where all symbols are guaranteed to be in the lower 2Gb of the address
      space.
      
      NCG changes coming; mangler changes are probably required too.
      3f4fd743
    • simonmar's avatar
      [project @ 2005-04-05 09:31:27 by simonmar] · e5e14491
      simonmar authored
      print format type fixup
      e5e14491
    • simonmar's avatar
      [project @ 2005-04-05 09:30:11 by simonmar] · b0ac0f91
      simonmar authored
      printf format type fixup
      b0ac0f91
    • simonmar's avatar
      [project @ 2005-04-05 09:28:32 by simonmar] · f50d2bf0
      simonmar authored
      type fixups
      f50d2bf0
    • simonmar's avatar
      [project @ 2005-04-05 09:22:27 by simonmar] · 9392c097
      simonmar authored
      type fixup
      9392c097
  7. 04 Apr, 2005 1 commit
    • simonmar's avatar
      [project @ 2005-04-04 13:51:26 by simonmar] · 1347b6d5
      simonmar authored
      Big cleanup of the scheduler.
      
      The main idea here was to extract as much stuff as possible from the
      scheduler loop into seprate functions, so as to better expose the
      control structure of the scheduler.  Now, the scheduler loop is down
      to some 300+ lines; there's some more code that could be extracted,
      but I think it looks pretty good now.
      
      This work is partly due to an initial cleanup by the GRAN/PAR folks,
      heavily re-worked by me.
      1347b6d5
  8. 31 Mar, 2005 1 commit
  9. 30 Mar, 2005 2 commits
  10. 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
  11. 17 Mar, 2005 2 commits
  12. 15 Mar, 2005 3 commits
  13. 14 Mar, 2005 2 commits
  14. 10 Mar, 2005 2 commits
  15. 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
  16. 08 Mar, 2005 2 commits
    • wolfgang's avatar
      [project @ 2005-03-08 04:45:29 by wolfgang] · f97dcf9f
      wolfgang authored
      Mac OS X:
      Kill HaskellSupport.framework.
      Instead, look for GMP.framework (a framework-version of libgmp), else look
      for a normal -lgmp as usual.
      The other part of HaskellSupport.framework, dlcompat, is no longer needed
      (as of Mac OS X 10.3, it's included in libSystem).
      It's enough to just use the normal configure tests for -ldl.
      
      MERGE TO STABLE
      f97dcf9f
    • wolfgang's avatar
      [project @ 2005-03-08 02:28:23 by wolfgang] · 04b5d01b
      wolfgang authored
      Mach-O Linker: eradicate some warnings
      
      MERGE TO STABLE
      04b5d01b
  17. 07 Mar, 2005 1 commit
  18. 05 Mar, 2005 1 commit
    • panne's avatar
      [project @ 2005-03-05 16:19:14 by panne] · 9c5d640b
      panne authored
      Nuked dead code. Now the RTS is free of warnings, except for failed
      inlinings of thread_obj, processHeapClosureForDead, pop, and
      push. Should we remove their "inline" modifier?
      9c5d640b
  19. 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