Skip to content
Commits on May 30, 2008
  1. @simonmar

    Fix a bug to do with recursive modules in one-shot mode

    The problem was that when loading interface files in checkOldIface, we
    were not passing the If monad the mutable variable for use when
    looking up entities in the *current* module, with the result that the
    knots wouldn't be tied properly, and some instances of TyCons would
    be incorrectly abstract.
    
    This bug has subtle effects: for example, recompiling a module without
    making any changes might lead to a slightly different result (noticed
    due to the new interface-file fingerprints).  The bug doesn't lead to
    any direct failures that we're aware of.
    simonmar committed May 30, 2008
  2. @simonmar

    disable SAT for now (see #2321)

    simonmar committed May 30, 2008
  3. @rleshchinskiy
Commits on May 29, 2008
  1. Replacing copyins and copyouts with data-movement instructions

    o Moved BlockId stuff to a new file to avoid module recursion
    o Defined stack areas for parameter-passing locations and spill slots
    o Part way through replacing copy in and copy out nodes
      - added movement instructions for stack pointer
      - added movement instructions for call and return parameters
        (but not with the proper calling conventions)
    o Inserting spills and reloads for proc points is now procpoint-aware
      (it was relying on the presence of a CopyIn node as a proxy for
       procpoint knowledge)
    o Changed ZipDataflow to expect AGraphs (instead of being polymorphic in
       the type of graph)
    dias@eecs.harvard.edu committed May 29, 2008
  2. @mchakravarty
  3. @simonmar
  4. @simonmar

    Make it less fatal to not call ioManagerStart()

    For clients that forget to do hs_add_root()
    simonmar committed May 29, 2008
  5. @simonmar

    FIX BUILD with GHC 6.4.x

    simonmar committed May 29, 2008
  6. Cmm back end upgrades

    Several changes in this patch, partially bug fixes, partially new code:
    o bug fixes in ZipDataflow
       - added some checks to verify that facts converge
       - removed some erroneous checks of convergence on entry nodes
       - added some missing applications of transfer functions
    o changed dataflow clients to use ZipDataflow, making ZipDataflow0 obsolete
    o eliminated DFA monad (no need for separate analysis and rewriting monads with ZipDataflow)
    o started stack layout changes
       - no longer generating CopyIn and CopyOut nodes (not yet fully expunged though)
       - still not using proper calling conventions
    o simple new optimizations:
       - common block elimination
          -- have not yet tried to move the Adams opt out of CmmProcPointZ
       - block concatenation
    o piped optimization fuel up to the HscEnv
       - can be limited by a command-line flag
       - not tested, and probably not yet properly used by clients
    o added unique supply to FuelMonad, also lifted unique supply to DFMonad
    dias@eecs.harvard.edu committed May 29, 2008
Commits on May 28, 2008
  1. @simonmar
  2. @simonmar

    Use MD5 checksums for recompilation checking (fixes #1372, #1959)

    This is a much more robust way to do recompilation checking.  The idea
    is to create a fingerprint of the ABI of an interface, and track
    dependencies by recording the fingerprints of ABIs that a module
    depends on.  If any of those ABIs have changed, then we need to
    recompile.
    
    In bug #1372 we weren't recording dependencies on package modules,
    this patch fixes that by recording fingerprints of package modules
    that we depend on.  Within a package there is still fine-grained
    recompilation avoidance as before.
    
    We currently use MD5 for fingerprints, being a good compromise between
    efficiency and security.  We're not worried about attackers, but we
    are worried about accidental collisions.
    
    All the MD5 sums do make interface files a bit bigger, but compile
    times on the whole are about the same as before.  Recompilation
    avoidance should be a bit more accurate than in 6.8.2 due to fixing
    #1959, especially when using -O.
    simonmar committed May 28, 2008
  3. when linking, ignore unknown .reloc section that appeared in gcc 3.4.…

    …5(?)
    dias@eecs.harvard.edu committed May 28, 2008
Commits on May 27, 2008
  1. @mchakravarty
  2. @simonmar
Commits on May 26, 2008
  1. @igfoo

    Simplify specifying that some libraries need to use the build.* rules

    Now you just add them to SUBDIRS_BUILD instead of SUBDIRS.
    igfoo committed May 26, 2008
  2. @igfoo

    Cope with libraries in libraries/foo/bar rather than just libraries/foo

    You need to use the build.* rules rather than the make.* rules, though.
    igfoo committed May 26, 2008
  3. @mchakravarty

    Fix fwrite$UNIX2003 symbols when cross-compiling for Tiger

    - When compiling with -mmacos-deployment-target=10.4, we need 
      --no-builtin-fprintf, as the use of GCC's builtin function 
      optimisation for fprintf together with #include "PosixSource" in the 
      RTS leads to the use of fwrite$UNIX2003 (with GCC 4.0.1 on Mac OS X 
      10.5.2).
    mchakravarty committed May 26, 2008
Commits on May 23, 2008
  1. @simonmar
  2. @igfoo

    Do some stack fiddling in stg_unblockAsyncExceptionszh_ret

    This fixes a segfault in #1657
    igfoo committed May 23, 2008
Commits on May 22, 2008
  1. @mchakravarty
Commits on May 21, 2008
  1. @igfoo

    Fix warnings in TcTyDecls

    igfoo committed May 21, 2008
  2. @igfoo

    Fix whitespace in TcTyDecls

    igfoo committed May 21, 2008
  3. Fix Trac #1061: refactor handling of default methods

    In an instance declaration, omitted methods get a definition that
    uses the default method.  We used to generate source code and feed it
    to the type checker.  But tc199 shows that is a bad idea -- see
    Note [Default methods in instances] in TcClassDcl.
    
    So this patch refactors to insteadl all us to generate the 
    *post* typechecked code directly for default methods.
    simonpj@microsoft.com committed May 21, 2008
  4. Comment typo

    simonpj@microsoft.com committed May 21, 2008
Commits on May 20, 2008
  1. Fix Trac #2292: improve error message for lone signatures

    Refactoring reduces code and improves error messages
    simonpj@microsoft.com committed May 20, 2008
  2. Fix Trac #2293: improve error reporting for duplicate declarations

    simonpj@microsoft.com committed May 20, 2008
  3. @igfoo

    Make TcType warning-free

    igfoo committed May 20, 2008
  4. @simonmar
Commits on May 19, 2008
  1. @igfoo

    Make TcUnify warning-free

    igfoo committed May 19, 2008
  2. @igfoo

    Fix a comment typo

    igfoo committed May 19, 2008
  3. @igfoo

    Detab TcUnify

    igfoo committed May 19, 2008
  4. FIX #1955: confusion between .exe.hp and .hp suffixes for heap profiles

    Now we use <prog>.hp and <prog>.prof consistently.
    Simon Marlow committed May 19, 2008
Commits on May 17, 2008
  1. @igfoo

    Teach push-all how to send as well

    igfoo committed May 17, 2008
Commits on May 15, 2008
  1. Tuples cannot contain unboxed types

    This bug allowed, for example
    
      f = let x = ( 1#, 'x' ) in x
    
    which is ill-typed because you can't put an unboxed value in a tuple.
    Core Lint fails on this program.
    
    The patch makes the program be rejcted up-front.
    simonpj@microsoft.com committed May 15, 2008
Commits on May 1, 2008
Something went wrong with that request. Please try again.