1. 10 May, 2005 4 commits
    • simonmar's avatar
      [project @ 2005-05-10 13:25:41 by simonmar] · bf821981
      simonmar authored
      Two SMP-related changes:
        - New storage manager interface:
          bdescr *allocateLocal(StgRegTable *reg, nat words)
          which allocates from the current thread's nursery (being careful
          not to clash with the heap pointer).  It can do this without
          taking any locks; the lock only has to be taken if a block needs
          to be allocated.  allocateLocal() is now used instead of allocate()
          in a few PrimOps.
          This removes locks from most Integer operations, cutting down
          the overhead for SMP a bit more.
          To make this work, we have to be able to grab the current thread's
          Capability out of thin air (i.e. when called from GMP), so the
          Capability subsystem needs to keep a hash from thread IDs to
        - Small MVar optimisation: instead of taking the global
          storage-manager lock, do our own locking of MVars with a bit of
          inline assembly (x86 only for now).
    • simonmar's avatar
      [project @ 2005-05-10 10:41:00 by simonmar] · 24928a55
      simonmar authored
      Mangler support for GNU/Hurd.
      From: Thomas Schwinge
    • simonmar's avatar
      [project @ 2005-05-10 10:35:57 by simonmar] · 723fb29b
      simonmar authored
      Add -I options to SRC_CC_OPTS for bootstrapping
      From: Thomas Schwinge
    • simonmar's avatar
      [project @ 2005-05-10 10:08:50 by simonmar] · 8b5a06b8
      simonmar authored
      -ignore-package lang if GHC >= 6.3, fixes build breakage if wxHaskell
       is installed.
  2. 09 May, 2005 4 commits
  3. 07 May, 2005 2 commits
  4. 06 May, 2005 2 commits
    • simonpj's avatar
      [project @ 2005-05-06 11:06:14 by simonpj] · 4e9b6d7b
      simonpj authored
      Rule overlap message should be only in ifdef DEBUG
    • sof's avatar
      [project @ 2005-05-06 00:30:56 by sof] · 4224e90e
      sof authored
      [mingw only]
      Work around bug in win32 Console API which showed up in the GHCi UI:
      if the user typed in characters prior to the appearance of the prompt,
      the first of these characters always came out as a 'g'. The GHCi UI does
      for good reasons one-character reads from 'stdin', which causes the
      underlying APIs to become confused. A simple repro case is the following
      piece of C code:
      #include <stdio.h>
      #include <windows.h>
      int main()
          char ch1,ch2;
          HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE);
          DWORD dw;
          /* Type in some characters before the prompt appears and be amused.. */
          sleep(1000); printf("? ");
      /*  or, if you want to use libc:
          read(0,&ch1,1); read(0,&ch2,1); */
          printf("%c%c\n", ch1,ch2);
          return 0;
      This happens across win32 OSes, and I can't see anything untoward as far
      as API usage goes (the GHC IO implementation uses read(), but that
      reduces to ReadConsoleA() calls.) People inside the Behemoth might want
      to have a closer look at this..
      Not much we can do about this except work around the problem by flushing
      the input buffer prior to reading from stdin. Not ideal, as type-ahead
      is a useful feature. Flushing is handled by GHC.ConsoleHandler.flushConsole
      Merge to STABLE.
  5. 05 May, 2005 14 commits
    • sof's avatar
      [project @ 2005-05-05 18:14:27 by sof] · e96f56a1
      sof authored
          when fixing up REL32 relocations, _add_ displacement to value at the
          given offset. The existing value has so far been assumed to be zero
          (which we've asserted for), but curiously wxhaskell-0.9.4's wx.o
          contains lots of interesting non-zero values. Information / specifications
          are awfully thin on the ground as to how to precisely handle these
          relocations, but adding rather than overwriting seems to have a
          generally healthy effect; unable to crash wxhaskell-0.9.4 with a 6.4 build.
      Merge to STABLE.
    • simonmar's avatar
      [project @ 2005-05-05 13:17:47 by simonmar] · 4ab21614
      simonmar authored
      Some fixes to the blackhole garbage collection strategy. conc049 is a
      great test case.
    • simonpj's avatar
      [project @ 2005-05-05 13:15:19 by simonpj] · b9beafe8
      simonpj authored
      Report instances correctly in GHCi
    • simonpj's avatar
      [project @ 2005-05-05 12:39:19 by simonpj] · 65a95d52
      simonpj authored
      Only compare hi-boot iface with mother module if there *is* an hi-boot iface
    • simonpj's avatar
      [project @ 2005-05-05 12:26:15 by simonpj] · eacd9d25
      simonpj authored
      Be a bit more parsimonious about type-error contexts
    • simonmar's avatar
      [project @ 2005-05-05 11:35:29 by simonmar] · c2d428ba
      simonmar authored
      Treat the blackhole_queue as a weak list: it shouldn't keep its
      elements alive, because otherwise we can't detect deadlock using the
      GC.  Fortunately the fix is quite simple.
    • simonmar's avatar
      [project @ 2005-05-05 11:33:10 by simonmar] · 8ffe6eb9
      simonmar authored
      AP_STACK fix for SMP
    • simonmar's avatar
      [project @ 2005-05-05 11:20:12 by simonmar] · f13f904a
      simonmar authored
      Fix the offsets and macros for AP_STACK closures (was wrong for SMP only)
    • simonmar's avatar
      [project @ 2005-05-05 11:19:42 by simonmar] · 96a1ac66
      simonmar authored
      Sanity fix for SMP
    • ross's avatar
      [project @ 2005-05-05 10:52:43 by ross] · cb205eb4
      ross authored
      Stop the renamer from barfing on arrow notation outside of proc, since
      this will be caught by the typechecker (tcfail120).
    • simonmar's avatar
      [project @ 2005-05-05 09:40:37 by simonmar] · 0ac48591
      simonmar authored
      Make GHC.modInfoPrintUnqualified work for package modules too.  Also
      refactor a bit: move mkExportEnv from TcRnDriver up to GHC which is
      the only use of it.
    • simonpj's avatar
      [project @ 2005-05-05 07:43:28 by simonpj] · 192c9dd5
      simonpj authored
      Make it so that you can deprecate a data constructor.
      Previously {-# DEPRECATED T "no" #-} referred only to the type
      or class T.  Now it refers to the data constructor T as well,
      just like in fixity declarations.  
      There's no way to deprecate the data constructor T without also
      deprecating the type T, alas.  Same problem in fixity decls.
      Main problem is coming up with a suitable concrete syntax to do
      We could consider merging this to the STABLE branch.
      NB: Sven, the manual fixes are not XML-valideated!  I'm at home.
    • simonpj's avatar
      [project @ 2005-05-05 07:35:43 by simonpj] · c860b7f8
      simonpj authored
      Two small things
      a) report duplicate declarations in canonical order
      b) report deprecations for all uses (a longstanding bug)
      	both MERGE TO STABLE
    • sof's avatar
      [project @ 2005-05-05 00:58:38 by sof] · 4d579945
      sof authored
      [mingw only]
      Provide (unsatisfying) workaround for pesky Ctrl-C issue, whereby a
      cygwin-based bash will terminate the 'ghci.exe' wrapper without the
      wrapper process getting a chance to respond (and shut down its child,
      if nothing else.) The result instead being that the child (ghc.exe) ends up
      lingering in the background.
      To steer users away from such badness, the wrapper checks to see whether
      it is running in a *nix-like shell, and if it is, issue a warning that
      it would be better to invoke GHCi using the 'ghcii.sh' shell script instead.
      Merge to STABLE.
  6. 04 May, 2005 7 commits
  7. 03 May, 2005 6 commits
  8. 02 May, 2005 1 commit
    • simonpj's avatar
      [project @ 2005-05-02 13:08:38 by simonpj] · 4d5d91aa
      simonpj authored
      In the :i command for ghci, load the interface files for
      the home module of every in-scope type or class. That way
      we are sure to see all their instance declarations.
      	MERGE TO STABLE branch