1. 25 Nov, 2011 3 commits
  2. 24 Nov, 2011 1 commit
    • Simon Marlow's avatar
      Relax the restriction on using abstract newtypes in FFI declarations. · c6b0fd62
      Simon Marlow authored
      Given the high impact of this change, we decided to back off and make
      abstract newtypes give a warning for one release, before we make it an
      error in 7.6.1.
      
      Codec/Compression/Zlib/Stream.hsc:884:1:
          Warning: newtype `CInt' is used in an FFI declaration,
                   but its constructor is not in scope.
                   This will become an error in GHC 7.6.1.
          When checking declaration:
            foreign import ccall unsafe "static zlib.h deflate" c_deflate
              :: StreamState -> CInt -> IO CInt
      c6b0fd62
  3. 23 Nov, 2011 1 commit
  4. 22 Nov, 2011 1 commit
  5. 21 Nov, 2011 2 commits
    • dreixel's avatar
      Replace EkCtxt by an SDoc · 4296552c
      dreixel authored
      We were never really manipulating the EkCtxt after we had built it,
      so it's simpler to just pass the final SDoc.
      4296552c
    • dreixel's avatar
      Rename ? to OpenKind and ?? to ArgKind · 18c7aea0
      dreixel authored
      The previous names were not informative at all, and now we have
      named kinds like Constraint and datatype promotion to kind, so
      we might as well name these too.
      
      I tried to update some comments to the new names, but certainly
      many references to the old names remain.
      18c7aea0
  6. 18 Nov, 2011 1 commit
    • Simon Marlow's avatar
      Track #included files for recompilation checking (#4900, #3589) · 3f34e091
      Simon Marlow authored
      This was pretty straightforward: collect the filenames in the lexer,
      and add them in to the tcg_dependent_files list that the typechecker
      collects.
      
      Note that we still don't get #included files in the ghc -M output.
      Since we don't normally lex the whole file in ghc -M, this same
      mechanism can't be used directly.
      3f34e091
  7. 17 Nov, 2011 2 commits
  8. 16 Nov, 2011 6 commits
  9. 15 Nov, 2011 2 commits
  10. 14 Nov, 2011 2 commits
  11. 11 Nov, 2011 2 commits
  12. 10 Nov, 2011 1 commit
    • chak@cse.unsw.edu.au.'s avatar
      GHC is now independent of the DPH library structure · 0bfe5c05
      chak@cse.unsw.edu.au. authored
      * if -XParallelArrays is given, the symbols for the desugarer are
        taken from 'Data.Array.Parallel' (from whichever package is
        exposed and has the module — the home package is fine, too)
      * if -fvectorise is given, the symbols for the vectoriser are
        taken from 'Data.Array.Parallel.Prim' (as above)
      
      (There is one wired in symbol left, namely the data constructor
      'base:GHC.PArr.[::]. It'll die another day.)
      0bfe5c05
  13. 09 Nov, 2011 1 commit
  14. 08 Nov, 2011 1 commit
  15. 05 Nov, 2011 4 commits
  16. 04 Nov, 2011 2 commits
  17. 02 Nov, 2011 2 commits
    • Simon Marlow's avatar
      Overhaul of infrastructure for profiling, coverage (HPC) and breakpoints · 7bb0447d
      Simon Marlow authored
      User visible changes
      ====================
      
      Profilng
      --------
      
      Flags renamed (the old ones are still accepted for now):
      
        OLD            NEW
        ---------      ------------
        -auto-all      -fprof-auto
        -auto          -fprof-exported
        -caf-all       -fprof-cafs
      
      New flags:
      
        -fprof-auto              Annotates all bindings (not just top-level
                                 ones) with SCCs
      
        -fprof-top               Annotates just top-level bindings with SCCs
      
        -fprof-exported          Annotates just exported bindings with SCCs
      
        -fprof-no-count-entries  Do not maintain entry counts when profiling
                                 (can make profiled code go faster; useful with
                                 heap profiling where entry counts are not used)
      
      Cost-centre stacks have a new semantics, which should in most cases
      result in more useful and intuitive profiles.  If you find this not to
      be the case, please let me know.  This is the area where I have been
      experimenting most, and the current solution is probably not the
      final version, however it does address all the outstanding bugs and
      seems to be better than GHC 7.2.
      
      Stack traces
      ------------
      
      +RTS -xc now gives more information.  If the exception originates from
      a CAF (as is common, because GHC tends to lift exceptions out to the
      top-level), then the RTS walks up the stack and reports the stack in
      the enclosing update frame(s).
      
      Result: +RTS -xc is much more useful now - but you still have to
      compile for profiling to get it.  I've played around a little with
      adding 'head []' to GHC itself, and +RTS -xc does pinpoint the problem
      quite accurately.
      
      I plan to add more facilities for stack tracing (e.g. in GHCi) in the
      future.
      
      Coverage (HPC)
      --------------
      
       * derived instances are now coloured yellow if they weren't used
       * likewise record field names
       * entry counts are more accurate (hpc --fun-entry-count)
       * tab width is now correct (markup was previously off in source with
         tabs)
      
      Internal changes
      ================
      
      In Core, the Note constructor has been replaced by
      
              Tick (Tickish b) (Expr b)
      
      which is used to represent all the kinds of source annotation we
      support: profiling SCCs, HPC ticks, and GHCi breakpoints.
      
      Depending on the properties of the Tickish, different transformations
      apply to Tick.  See CoreUtils.mkTick for details.
      
      Tickets
      =======
      
      This commit closes the following tickets, test cases to follow:
      
        - Close #2552: not a bug, but the behaviour is now more intuitive
          (test is T2552)
      
        - Close #680 (test is T680)
      
        - Close #1531 (test is result001)
      
        - Close #949 (test is T949)
      
        - Close #2466: test case has bitrotted (doesn't compile against current
          version of vector-space package)
      7bb0447d
    • Simon Marlow's avatar
      For the location on a record selector binding, use the location of the · d4c20a1b
      Simon Marlow authored
      record selector identifier in the data declaration.  Previously the
      location was pointing to the TyCon in the source, which was clearly
      wrong, and the new way gives more useful information from HPC: if a
      record selector is never used, the markup will shade the identifier
      yellow.
      d4c20a1b
  18. 01 Nov, 2011 1 commit
  19. 31 Oct, 2011 3 commits
  20. 26 Oct, 2011 2 commits