1. 09 Oct, 2012 8 commits
  2. 08 Oct, 2012 11 commits
    • ian@well-typed.com's avatar
    • ian@well-typed.com's avatar
      Make the -ferror-spans flag dynamic · c3939fdb
      ian@well-typed.com authored
    • rl@cse.unsw.edu.au's avatar
      Merge ../ghc · 2a534087
      rl@cse.unsw.edu.au authored
    • rl@cse.unsw.edu.au's avatar
    • rl@cse.unsw.edu.au's avatar
    • ian@well-typed.com's avatar
      Put the DynFlags in a global variable for tracing; fixes #7304 · f7cd14fd
      ian@well-typed.com authored
      This is an ugly kludge to make a DynFlags value available for the
      'trace' functions. It may not be the value we really ought to use,
      but it'll be good enough for the pretty-printer to use.
      Ideally we'd pass the real DynFlags down to all the trace calls,
      but this will do for now at least.
    • Simon Marlow's avatar
      untab · a94144b8
      Simon Marlow authored
    • Simon Marlow's avatar
      Fix a dependency bug in the build system · e1846d7f
      Simon Marlow authored
      I've been meaning to track this one down for a long time.
      Occasionally a build will fail with an error about a .so library being
      truncated; the reason was that we weren't tracking the dependencies of
      the GHC stage2 .so library correctly.
    • Simon Marlow's avatar
      fix a warning · 6e95114e
      Simon Marlow authored
    • Simon Marlow's avatar
      expand tabs · 620d885b
      Simon Marlow authored
    • Simon Marlow's avatar
      Produce new-style Cmm from the Cmm parser · a7c0387d
      Simon Marlow authored
      The main change here is that the Cmm parser now allows high-level cmm
      code with argument-passing and function calls.  For example:
      foo ( gcptr a, bits32 b )
        if (b > 0) {
           // we can make tail calls passing arguments:
           jump stg_ap_0_fast(a);
        return (x,y);
      More details on the new cmm syntax are in Note [Syntax of .cmm files]
      in CmmParse.y.
      The old syntax is still more-or-less supported for those occasional
      code fragments that really need to explicitly manipulate the stack.
      However there are a couple of differences: it is now obligatory to
      give a list of live GlobalRegs on every jump, e.g.
        jump %ENTRY_CODE(Sp(0)) [R1];
      Again, more details in Note [Syntax of .cmm files].
      I have rewritten most of the .cmm files in the RTS into the new
      syntax, except for AutoApply.cmm which is generated by the genapply
      program: this file could be generated in the new syntax instead and
      would probably be better off for it, but I ran out of enthusiasm.
      Some other changes in this batch:
       - The PrimOp calling convention is gone, primops now use the ordinary
         NativeNodeCall convention.  This means that primops and "foreign
         import prim" code must be written in high-level cmm, but they can
         now take more than 10 arguments.
       - CmmSink now does constant-folding (should fix #7219)
       - .cmm files now go through the cmmPipeline, and as a result we
         generate better code in many cases.  All the object files generated
         for the RTS .cmm files are now smaller.  Performance should be
         better too, but I haven't measured it yet.
       - RET_DYN frames are removed from the RTS, lots of code goes away
       - we now have some more canned GC points to cover unboxed-tuples with
         2-4 pointers, which will reduce code size a little.
  3. 05 Oct, 2012 2 commits
  4. 04 Oct, 2012 10 commits
  5. 03 Oct, 2012 9 commits