1. 05 Nov, 2011 9 commits
  2. 04 Nov, 2011 17 commits
  3. 02 Nov, 2011 14 commits
    • Karel Gardas's avatar
      fix configure's generation of settings file on ARM platform · 2bc8a7b7
      Karel Gardas authored
      
      
      This patch fixes generation of settings file on ARM platform
      by configure script. This fixes build issue on ARM platform
      where ghc-stage1 compiler is not able to read the target arch
      value and due to this issue build fails with:
      
      ghc-cabal: Failed to read "target arch" value "ArchARM ARMv7 [VFPv3, NEON]"
      Signed-off-by: dterei's avatarDavid Terei <davidterei@gmail.com>
      2bc8a7b7
    • Simon Marlow's avatar
      remove tabs again · 515728a3
      Simon Marlow authored
      515728a3
    • Simon Marlow's avatar
      Fix gratuitous code duplication in the byte code generator · b0e4b418
      Simon Marlow authored
      For a case expression with a default, we were re-emitting the code for
      the default branch each time it was referenced, which in a case with
      many branches could be many times, leading to an O(n^2) blowup.
      
      This shows up in ghcirun003, which now runs much faster than before.
      b0e4b418
    • Simon Marlow's avatar
      fix disassembling of large instructions · 78eadcca
      Simon Marlow authored
      78eadcca
    • Simon Marlow's avatar
      Get label calculations right when we have long (>16 bits) offsets · f6fb053f
      Simon Marlow authored
      This shows up as a segfault in GHCi when there is a very large BCO.
      I've constructed a test case that crashes with 7.2.1, which I'll put
      in the testsuite as ghcirun004.
      f6fb053f
    • Simon Marlow's avatar
      78f51759
    • Simon Marlow's avatar
      unknownNameSuggestErr: don't panic if we find Ids with UnhelpfulSrcSpans · 2c7699ac
      Simon Marlow authored
      This happens with the Ids generated by the GHCi debugger for heap
      values (_t1, _t2 etc.).
      2c7699ac
    • Simon Marlow's avatar
      be9e727c
    • Simon Marlow's avatar
      baa57678
    • 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
      fix time calculation for retainer profiling · bd72eeb1
      Simon Marlow authored
      bd72eeb1
    • Simon Marlow's avatar
      0047d2c3
    • Simon Marlow's avatar
      fix doc bugs · e3143e85
      Simon Marlow authored
      The description of GHC's divergence from the FFI spec was in the wrong
      place, and the xref was broken.
      e3143e85
    • Simon Marlow's avatar