Commits on Mar 12, 2009
  1. FIX #3079, dodgy parsing of LANGUAGE pragmas

    I ended up rewriting this horrible bit of code, using (yikes) lazy I/O
    to slurp in the source file a chunk at a time.  The old code tried to
    read the file a chunk at a time, but failed with LANGUAGE pragmas
    because the parser for LANGUAGE has state and the state wasn't being
    saved between chunks.  We're still closing the Handle eagerly, so
    there shouldn't be any problems here.
    simonmar committed Mar 12, 2009
Commits on Mar 11, 2009
  1. FIX #2816 (correct unicode output for :type/:kind)

    This is just a hack, since we don't have correct unicode output for
    Handles in general, I just fixed a couple of places where we were not
    converting to UTF-8 for output.
    simonmar committed Mar 11, 2009
  2. Fix #2992: don't create a named event

    Evidently I misread the docs for CreateEvent: if you pass a name to
    CreateEvent, then it creates a single shared system-wide Event with
    that name.  So all Haskell processes on the machine were sharing the
    same Event object.  duh.
    simonmar committed Mar 11, 2009
  3. FIX #2832: Setting SplitObjs=NO doesn't disable -split-objs in GHC

    Now ghc --info reports whether-split-objs is supported, rather than
    whether the libraries were built using -split-objs.
    simonmar committed Mar 11, 2009
Commits on Mar 10, 2009
Commits on Mar 9, 2009
  1. Fix a bug which sometimes caused extra major GCs to be performed

    A long-running GC would cause the timer signal to declare the system
    to be idle, which would cause a major GC immediately following the
    current GC.  This only happened with +RTS -N2 or greater.
    simonmar committed Mar 9, 2009
  2. Redesign 64-bit HEAP_ALLOCED (FIX #2934 at the same time)

    After much experimentation, I've found a formulation for HEAP_ALLOCED
    that (a) improves performance, and (b) doesn't have any race
    conditions when used concurrently.  GC performance on x86_64 should be
    improved slightly.  See extensive comments in MBlock.h for the
    simonmar committed Mar 9, 2009
Commits on Mar 8, 2009
  1. Don't force HSCOLOUR_SRCS = YES when validating

    This removes a burden from developers, and I can't remember an
    occasion where it would have caught a regression.
    igfoo committed Mar 8, 2009
Commits on Mar 7, 2009
Commits on Mar 6, 2009
  1. Partial fix for #2917

     - add newAlignedPinnedByteArray# for allocating pinned BAs with
       arbitrary alignment
     - the old newPinnedByteArray# now aligns to 16 bytes
    Foreign.alloca will use newAlignedPinnedByteArray#, and so might end
    up wasting less space than before (we used to align to 8 by default).
    Foreign.allocaBytes and Foreign.mallocForeignPtrBytes will get 16-byte
    aligned memory, which is enough to avoid problems with SSE
    instructions on x86, for example.
    There was a bug in the old newPinnedByteArray#: it aligned to 8 bytes,
    but would have failed if the header was not a multiple of 8
    (fortunately it always was, even with profiling).  Also we
    occasionally wasted some space unnecessarily due to alignment in
    I haven't done anything about Foreign.malloc/mallocBytes, which will
    give you the same alignment guarantees as malloc() (8 bytes on
    Linux/x86 here).
    simonmar committed Mar 6, 2009
  2. Add CONTRACT to the pragmas that we recognise.

    It's used by ESC/Haskell.
    igfoo committed Mar 6, 2009
  3. Fix warning

    rleshchinskiy committed Mar 6, 2009
Commits on Mar 5, 2009
  1. Add --version to runghc. Trac #2757.

    We use the GHC version number, as the old runghc one doesn't seem very
    igfoo committed Mar 5, 2009
  2. add final newlines

    My Windows build has started complaining about lacking final newlines,
    I'm not entirely sure why.
    simonmar committed Mar 5, 2009
  3. add --with-ld=c:/mingw/bin/ld

    simonmar committed Mar 5, 2009
  4. On OS X/x86, tell gcc to generate instructions for i686. Fixes trac #…

    By default, gcc on OS X will generate SSE instructions, which need
    things 16-byte aligned, but we don't 16-byte align things. Thus drop
    back to generic i686 compatibility.
    igfoo committed Mar 5, 2009
  5. By default, only HsColour the docs if we find HsColour. Fixes trac #3…

    If you manually set HSCOLOUR_SRCS=YES then the build will fail if
    HsColour wasn't found.
    igfoo committed Mar 5, 2009
  6. Make -fdicts-cheap cope with implication constraints

    See the Note [Dictionary-like types] in TcType for the full story here
    Should only affect programs that use -fdicts-cheap, for
    which you'll get better arities committed Mar 5, 2009
  7. Finally fix Trac #3066

    This is a fix to 
      Tue Mar  3 17:42:58 GMT 2009
        * Fix Trac #3066: checking argument types in foreign calls
    which I embarassingly got wrong.
    Have to be careful when expanding recursive newtypes.
    Pls merge. committed Mar 5, 2009
Commits on Mar 4, 2009
  1. Fix spelling (Trac#3069) committed Mar 4, 2009
  2. Layout only committed Mar 4, 2009
Commits on Mar 3, 2009
  1. Fix #3067: GHCi panics with 'initTc:LIE' while :stepping on code with…

    … funny types
    The problem is that calls to boxyUnify would panic if the types involved
    contained type functions. 
    It looks like one should wrap these calls with getLIE, although I don't
    really know what I am doing here
    pepeiborra committed Mar 3, 2009
  2. Fix Trac #3066: checking argument types in foreign calls

    When checking argument types in a foreign call we were stupidly
    looking through foralls.  The fix is easy.
    Merge to 6.10.2 committed Mar 3, 2009
  3. Fix Trac #3057 in deriving Functor

    The universal type variables of a data constructor are not necessarily
    identical to those of its parent type constructor, especially if the
    data type is imported.
    While I was at it, I did a significant refactoring to make all this
    traversal of types more comprehensible, by adding the data type
    FFoldType. committed Mar 3, 2009