1. 11 Dec, 2002 10 commits
    • simonmar's avatar
      [project @ 2002-12-11 15:36:20 by simonmar] · 0bffc410
      simonmar authored
      Merge the eval-apply-branch on to the HEAD
      This is a change to GHC's evaluation model in order to ultimately make
      GHC more portable and to reduce complexity in some areas.
      At some point we'll update the commentary to describe the new state of
      the RTS.  Pending that, the highlights of this change are:
        - No more Su.  The Su register is gone, update frames are one
          word smaller.
        - Slow-entry points and arg checks are gone.  Unknown function calls
          are handled by automatically-generated RTS entry points (AutoApply.hc,
          generated by the program in utils/genapply).
        - The stack layout is stricter: there are no "pending arguments" on
          the stack any more, the stack is always strictly a sequence of
          stack frames.
          This means that there's no need for LOOKS_LIKE_GHC_INFO() or
          LOOKS_LIKE_STATIC_CLOSURE() any more, and GHC doesn't need to know
          how to find the boundary between the text and data segments (BIG WIN!).
        - A couple of nasty hacks in the mangler caused by the neet to
          identify closure ptrs vs. info tables have gone away.
        - Info tables are a bit more complicated.  See InfoTables.h for the
        - As a side effect, GHCi can now deal with polymorphic seq.  Some bugs
          in GHCi which affected primitives and unboxed tuples are now
        - Binary sizes are reduced by about 7% on x86.  Performance is roughly
          similar, some programs get faster while some get slower.  I've seen
          GHCi perform worse on some examples, but haven't investigated
          further yet (GHCi performance *should* be about the same or better
          in theory).
        - Internally the code generator is rather better organised.  I've moved
          info-table generation from the NCG into the main codeGen where it is
          shared with the C back-end; info tables are now emitted as arrays
          of words in both back-ends.  The NCG is one step closer to being able
          to support profiling.
      This has all been fairly thoroughly tested, but no doubt I've messed
      up the commit in some way.
    • igloo's avatar
      [project @ 2002-12-11 14:02:28 by igloo] · a63622cc
      igloo authored
      Handle bindings to just a pattern variable in cvtd.
    • simonmar's avatar
      [project @ 2002-12-11 14:01:22 by simonmar] · bfc8d847
      simonmar authored
      Update config.guess and config.sub from GNU; a bug was reported in the
      previous versions.
    • igloo's avatar
      [project @ 2002-12-11 12:35:57 by igloo] · 6e570fef
      igloo authored
      Improved foreign import conversion.
    • simonpj's avatar
      [project @ 2002-12-11 12:04:05 by simonpj] · 2a85d6e8
      simonpj authored
      wibbles to External Core
    • simonpj's avatar
      [project @ 2002-12-11 12:02:15 by simonpj] · 49f5cb28
      simonpj authored
      Behave decently if there are NoStubs in ForeignStubs
    • simonpj's avatar
      [project @ 2002-12-11 12:01:20 by simonpj] · 62bcbe78
      simonpj authored
      Change interface to mkIfaceOrig
    • simonpj's avatar
      [project @ 2002-12-11 12:00:50 by simonpj] · 64319387
      simonpj authored
      Better comparision for Exact RdrNames
    • simonpj's avatar
      [project @ 2002-12-11 11:59:59 by simonpj] · 5ea90a58
      simonpj authored
      Original names can occur in binding positions in External Core
    • simonpj's avatar
      [project @ 2002-12-11 11:59:26 by simonpj] · 95e3eafc
      simonpj authored
      Give -> the correct kind!
  2. 10 Dec, 2002 9 commits
  3. 08 Dec, 2002 2 commits
  4. 06 Dec, 2002 1 commit
  5. 05 Dec, 2002 4 commits
    • mthomas's avatar
      [project @ 2002-12-05 23:49:43 by mthomas] · 6e5df3a4
      mthomas authored
      A new rejig script which takes arguments rather than hardwired locations.
    • stolz's avatar
      [project @ 2002-12-05 14:20:55 by stolz] · 6ff1e84b
      stolz authored
      Add SA_RESETHAND (aka SA_ONESHOT) support.
      Requested by: John Meacham
      > module Main where
      > import System.Posix.Signals
      > main = do
      >   installHandler sigUSR1 (Catch (print "usr1")) Nothing
      >   installHandler sigUSR2 (CatchOnce (print "usr2")) Nothing
      >   _ <- getLine
      >   return ()
    • simonmar's avatar
      [project @ 2002-12-05 13:51:56 by simonmar] · 1ca2417e
      simonmar authored
      - remove old code for GHC < 3.03 (we don't support building GHC with
        less than 4.08).
      - remove ErrorHdrHook and PatError, we now catch all exceptions at
        the top level and report panics (this will fix some test
        discrepancies with GHCi).
    • simonmar's avatar
      [project @ 2002-12-05 12:36:54 by simonmar] · 6dda11d0
      simonmar authored
      Don't put a recursive exception handler around the flushing of
      stdout/stderr after running a command.  If the user closes stdout or
      stderr, we now fail rather than going into an infinite loop.
  6. 04 Dec, 2002 3 commits
  7. 02 Dec, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-12-02 17:10:13 by simonpj] · aa78876d
      simonpj authored
      Use the right PackageIfaceTable in cmInfoThing
    • simonpj's avatar
      [project @ 2002-12-02 16:58:33 by simonpj] · bd87e787
      simonpj authored
      Remember to zapToType in tcSpliceExpr
    • simonmar's avatar
      [project @ 2002-12-02 14:33:10 by simonmar] · 286a25bb
      simonmar authored
      Fix a bug and clean up some cruft in here:
       - In each function in the rts_getXXXX() family, there was a test that
         the object is actually of the desired type by examining its info
         table.  Some of these tests were disabled, but there was no comment
         explaining why.  I've just (re-)discovered the reason: the
         info table might be dynamically-loaded in the GHCi case.
         Not all the tests were disabled, which lead to bugs using the FFI
         in GHCi (in particular with functions that return Float or Double).
       - I've added consistent, but commented out, assertions to each of
         the rts_getXXXX() functions, and left a comment explaining why
         these reasonable-looking assertions are disabled.
    • simonmar's avatar
      [project @ 2002-12-02 10:44:10 by simonmar] · 12718d14
      simonmar authored
      Add a FAQ item about long link times.
  8. 28 Nov, 2002 4 commits
    • simonpj's avatar
      [project @ 2002-11-28 17:17:41 by simonpj] · 3c58c25b
      simonpj authored
            A day's work to improve error messages
      1.  Indicate when the cause of the error is likely to be the monomorpism
          restriction, and identify the offending variables.  This involves
          mainly tcSimplifyTop and its error generation.
      2.  Produce much better kind error messages.  No more
      	  Couldn't match `* -> *' against `Type bx'
      	      Expected kind: * -> *
      	      Inferred kind: Type bx
      	  When checking that `DiGraph n' is a type
      It took a surprisingly long time to get the details right.
    • simonpj's avatar
      [project @ 2002-11-28 10:04:52 by simonpj] · b44c6881
      simonpj authored
      Report over-size tuples gracefully
    • simonpj's avatar
      [project @ 2002-11-28 10:04:15 by simonpj] · e030a747
      simonpj authored
      Document a couple more bugs
    • mthomas's avatar
      [project @ 2002-11-28 01:00:44 by mthomas] · 2c5ca121
      mthomas authored
      Add a getting started example.  Someone with Docbook please check the SGML.
  9. 26 Nov, 2002 1 commit
  10. 22 Nov, 2002 2 commits