1. 23 Mar, 2014 2 commits
  2. 22 Mar, 2014 9 commits
    • eir@cis.upenn.edu's avatar
      Fix #8917. · c99941cf
      eir@cis.upenn.edu authored
      FamInstEnv.normaliseTcApp should normalise arguments even when
      the top-level tycon isn't a type family. This was a regression
      from 7.6 -- not sure when it happened, but it was probably my
      fault. Fixed now, in any case.
      c99941cf
    • eir@cis.upenn.edu's avatar
      Add test case for #8917 · 47796026
      eir@cis.upenn.edu authored
      47796026
    • eir@cis.upenn.edu's avatar
      Remove redundant compatibility check. · b0bcbc04
      eir@cis.upenn.edu authored
      Previously, the closed type family compatibility check was
      done even when type-checking an interface file. But interface
      files now store compatibility info, so this check was redundant.
      b0bcbc04
    • eir@cis.upenn.edu's avatar
    • Mikhail Glushenkov's avatar
      be2e0e88
    • tibbe's avatar
      Enable popcnt test now when segfault is fixed · 16d04d90
      tibbe authored
      The fix was to ghc-prim.
      16d04d90
    • tibbe's avatar
      Follow hs_popcntX changes in ghc-prim · 1a63f17f
      tibbe authored
      1a63f17f
    • Joachim Breitner's avatar
      Mark test for #8831 as known-broken · 4bc3c826
      Joachim Breitner authored
      to keep validate working.
      4bc3c826
    • tibbe's avatar
      codeGen: inline allocation optimization for clone array primops · 1eece456
      tibbe authored
      The inline allocation version is 69% faster than the out-of-line
      version, when cloning an array of 16 unit elements on a 64-bit
      machine.
      
      Comparing the new and the old primop implementations isn't
      straightforward. The old version had a missing heap check that I
      discovered during the development of the new version. Comparing the
      old and the new version would requiring fixing the old version, which
      in turn means reimplementing the equivalent of MAYBE_CG in StgCmmPrim.
      
      The inline allocation threshold is configurable via
      -fmax-inline-alloc-size which gives the maximum array size, in bytes,
      to allocate inline. The size does not include the closure header size.
      
      Allowing the same primop to be either inline or out-of-line has some
      implication for how we lay out heap checks. We always place a heap
      check around out-of-line primops, as they may allocate outside of our
      knowledge. However, for the inline primops we only allow allocation
      via the standard means (i.e. virtHp). Since the clone primops might be
      either inline or out-of-line the heap check layout code now consults
      shouldInlinePrimOp to know whether a primop will be inlined.
      1eece456
  3. 21 Mar, 2014 5 commits
  4. 20 Mar, 2014 1 commit
    • tibbe's avatar
      Don't use gcptr for interior pointers · a6939ec2
      tibbe authored
      gcptr should only be used for pointers that the GC should
      follow. While this didn't cause any bugs right now, since these
      variables aren't live over a GC, it's clearer to use the right type.
      a6939ec2
  5. 19 Mar, 2014 3 commits
  6. 18 Mar, 2014 3 commits
  7. 17 Mar, 2014 7 commits
  8. 16 Mar, 2014 4 commits
  9. 14 Mar, 2014 6 commits